@tinyrack/dotweave 0.42.13 → 0.42.19

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 (216) hide show
  1. package/README.md +6 -2
  2. package/dist/application.d.ts +0 -3
  3. package/dist/application.d.ts.map +1 -1
  4. package/dist/application.js +23 -22
  5. package/dist/application.js.map +1 -1
  6. package/dist/cli/autocomplete.d.ts +5 -4
  7. package/dist/cli/autocomplete.d.ts.map +1 -1
  8. package/dist/cli/autocomplete.js +33 -28
  9. package/dist/cli/autocomplete.js.map +1 -1
  10. package/dist/cli/cd.d.ts +2 -2
  11. package/dist/cli/cd.d.ts.map +1 -1
  12. package/dist/cli/cd.js +1 -4
  13. package/dist/cli/cd.js.map +1 -1
  14. package/dist/cli/doctor.d.ts +2 -2
  15. package/dist/cli/doctor.d.ts.map +1 -1
  16. package/dist/cli/doctor.js +19 -28
  17. package/dist/cli/doctor.js.map +1 -1
  18. package/dist/cli/index.d.ts +1 -3
  19. package/dist/cli/index.d.ts.map +1 -1
  20. package/dist/cli/index.js +5 -5
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/init.d.ts +2 -2
  23. package/dist/cli/init.d.ts.map +1 -1
  24. package/dist/cli/init.js +9 -15
  25. package/dist/cli/init.js.map +1 -1
  26. package/dist/cli/profile/index.d.ts +1 -1
  27. package/dist/cli/profile/index.d.ts.map +1 -1
  28. package/dist/cli/profile/list.d.ts +2 -2
  29. package/dist/cli/profile/list.d.ts.map +1 -1
  30. package/dist/cli/profile/list.js +13 -23
  31. package/dist/cli/profile/list.js.map +1 -1
  32. package/dist/cli/profile/use.d.ts +2 -2
  33. package/dist/cli/profile/use.d.ts.map +1 -1
  34. package/dist/cli/profile/use.js +4 -13
  35. package/dist/cli/profile/use.js.map +1 -1
  36. package/dist/cli/pull.d.ts +2 -2
  37. package/dist/cli/pull.d.ts.map +1 -1
  38. package/dist/cli/pull.js +22 -41
  39. package/dist/cli/pull.js.map +1 -1
  40. package/dist/cli/push.d.ts +2 -2
  41. package/dist/cli/push.d.ts.map +1 -1
  42. package/dist/cli/push.js +17 -23
  43. package/dist/cli/push.js.map +1 -1
  44. package/dist/cli/root-commands.d.ts +9 -10
  45. package/dist/cli/root-commands.d.ts.map +1 -1
  46. package/dist/cli/root-commands.js +0 -4
  47. package/dist/cli/root-commands.js.map +1 -1
  48. package/dist/cli/shared-flags.d.ts +9 -0
  49. package/dist/cli/shared-flags.d.ts.map +1 -0
  50. package/dist/cli/shared-flags.js +8 -0
  51. package/dist/cli/shared-flags.js.map +1 -0
  52. package/dist/cli/status.d.ts +2 -2
  53. package/dist/cli/status.d.ts.map +1 -1
  54. package/dist/cli/status.js +26 -55
  55. package/dist/cli/status.js.map +1 -1
  56. package/dist/cli/track.d.ts +2 -2
  57. package/dist/cli/track.d.ts.map +1 -1
  58. package/dist/cli/track.js +14 -33
  59. package/dist/cli/track.js.map +1 -1
  60. package/dist/cli/untrack.d.ts +2 -2
  61. package/dist/cli/untrack.d.ts.map +1 -1
  62. package/dist/cli/untrack.js +5 -14
  63. package/dist/cli/untrack.js.map +1 -1
  64. package/dist/config/constants.d.ts +1 -1
  65. package/dist/config/constants.d.ts.map +1 -1
  66. package/dist/config/constants.js +1 -1
  67. package/dist/config/constants.js.map +1 -1
  68. package/dist/config/global-config.d.ts +3 -3
  69. package/dist/config/global-config.d.ts.map +1 -1
  70. package/dist/config/global-config.js +7 -8
  71. package/dist/config/global-config.js.map +1 -1
  72. package/dist/config/identity-file.d.ts +0 -7
  73. package/dist/config/identity-file.d.ts.map +1 -1
  74. package/dist/config/identity-file.js +2 -44
  75. package/dist/config/identity-file.js.map +1 -1
  76. package/dist/config/runtime-env.d.ts.map +1 -1
  77. package/dist/config/runtime-env.js +2 -7
  78. package/dist/config/runtime-env.js.map +1 -1
  79. package/dist/config/{sync-entry.d.ts → sync-queries.d.ts} +5 -3
  80. package/dist/config/sync-queries.d.ts.map +1 -0
  81. package/dist/config/{sync-entry.js → sync-queries.js} +15 -6
  82. package/dist/config/sync-queries.js.map +1 -0
  83. package/dist/config/sync-schema.d.ts +9 -7
  84. package/dist/config/sync-schema.d.ts.map +1 -1
  85. package/dist/config/sync-schema.js +53 -18
  86. package/dist/config/sync-schema.js.map +1 -1
  87. package/dist/config/xdg.d.ts.map +1 -1
  88. package/dist/config/xdg.js +15 -34
  89. package/dist/config/xdg.js.map +1 -1
  90. package/dist/lib/error.js +1 -1
  91. package/dist/lib/error.js.map +1 -1
  92. package/dist/lib/git.d.ts +3 -4
  93. package/dist/lib/git.d.ts.map +1 -1
  94. package/dist/lib/git.js +7 -48
  95. package/dist/lib/git.js.map +1 -1
  96. package/dist/lib/jsonc.d.ts +1 -1
  97. package/dist/lib/jsonc.d.ts.map +1 -1
  98. package/dist/lib/jsonc.js +1 -1
  99. package/dist/lib/jsonc.js.map +1 -1
  100. package/dist/lib/path.d.ts +3 -16
  101. package/dist/lib/path.d.ts.map +1 -1
  102. package/dist/lib/path.js +30 -19
  103. package/dist/lib/path.js.map +1 -1
  104. package/dist/lib/string.d.ts +1 -4
  105. package/dist/lib/string.d.ts.map +1 -1
  106. package/dist/lib/string.js +6 -4
  107. package/dist/lib/string.js.map +1 -1
  108. package/dist/lib/version.d.ts.map +1 -1
  109. package/dist/lib/version.js +2 -2
  110. package/dist/lib/version.js.map +1 -1
  111. package/dist/services/autocomplete.js +13 -13
  112. package/dist/services/autocomplete.js.map +1 -1
  113. package/dist/services/config-file.d.ts +4 -4
  114. package/dist/services/config-file.d.ts.map +1 -1
  115. package/dist/services/config-file.js +7 -8
  116. package/dist/services/config-file.js.map +1 -1
  117. package/dist/services/doctor.d.ts +1 -4
  118. package/dist/services/doctor.d.ts.map +1 -1
  119. package/dist/services/doctor.js +10 -37
  120. package/dist/services/doctor.js.map +1 -1
  121. package/dist/services/init.d.ts +1 -5
  122. package/dist/services/init.d.ts.map +1 -1
  123. package/dist/services/init.js +25 -59
  124. package/dist/services/init.js.map +1 -1
  125. package/dist/services/local-snapshot.d.ts +2 -7
  126. package/dist/services/local-snapshot.d.ts.map +1 -1
  127. package/dist/services/local-snapshot.js +12 -35
  128. package/dist/services/local-snapshot.js.map +1 -1
  129. package/dist/services/profile.d.ts +0 -4
  130. package/dist/services/profile.d.ts.map +1 -1
  131. package/dist/services/profile.js +13 -22
  132. package/dist/services/profile.js.map +1 -1
  133. package/dist/services/pull-apply.d.ts +30 -0
  134. package/dist/services/pull-apply.d.ts.map +1 -0
  135. package/dist/services/{local-materialization.js → pull-apply.js} +150 -210
  136. package/dist/services/pull-apply.js.map +1 -0
  137. package/dist/services/pull.d.ts +7 -10
  138. package/dist/services/pull.d.ts.map +1 -1
  139. package/dist/services/pull.js +19 -30
  140. package/dist/services/pull.js.map +1 -1
  141. package/dist/services/push.d.ts +4 -7
  142. package/dist/services/push.d.ts.map +1 -1
  143. package/dist/services/push.js +15 -38
  144. package/dist/services/push.js.map +1 -1
  145. package/dist/services/repo-artifacts.d.ts +5 -6
  146. package/dist/services/repo-artifacts.d.ts.map +1 -1
  147. package/dist/services/repo-artifacts.js +21 -60
  148. package/dist/services/repo-artifacts.js.map +1 -1
  149. package/dist/services/repo-snapshot.d.ts +2 -3
  150. package/dist/services/repo-snapshot.d.ts.map +1 -1
  151. package/dist/services/repo-snapshot.js +14 -26
  152. package/dist/services/repo-snapshot.js.map +1 -1
  153. package/dist/services/status.d.ts +1 -5
  154. package/dist/services/status.d.ts.map +1 -1
  155. package/dist/services/status.js +7 -17
  156. package/dist/services/status.js.map +1 -1
  157. package/dist/services/{runtime.d.ts → sync-context.d.ts} +9 -3
  158. package/dist/services/sync-context.d.ts.map +1 -0
  159. package/dist/services/{runtime.js → sync-context.js} +14 -7
  160. package/dist/services/sync-context.js.map +1 -0
  161. package/dist/services/{set.d.ts → sync-mode.d.ts} +7 -9
  162. package/dist/services/sync-mode.d.ts.map +1 -0
  163. package/dist/services/{set.js → sync-mode.js} +9 -23
  164. package/dist/services/sync-mode.js.map +1 -0
  165. package/dist/services/{paths.d.ts → sync-paths.d.ts} +2 -2
  166. package/dist/services/sync-paths.d.ts.map +1 -0
  167. package/dist/services/{paths.js → sync-paths.js} +4 -6
  168. package/dist/services/sync-paths.js.map +1 -0
  169. package/dist/services/terminal/logger.d.ts +30 -5
  170. package/dist/services/terminal/logger.d.ts.map +1 -1
  171. package/dist/services/terminal/logger.js +61 -14
  172. package/dist/services/terminal/logger.js.map +1 -1
  173. package/dist/services/terminal/path-completion.d.ts +2 -2
  174. package/dist/services/terminal/path-completion.d.ts.map +1 -1
  175. package/dist/services/terminal/path-completion.js +16 -13
  176. package/dist/services/terminal/path-completion.js.map +1 -1
  177. package/dist/services/terminal/shell.d.ts +1 -12
  178. package/dist/services/terminal/shell.d.ts.map +1 -1
  179. package/dist/services/terminal/shell.js +7 -160
  180. package/dist/services/terminal/shell.js.map +1 -1
  181. package/dist/services/terminal/spinner.d.ts +10 -0
  182. package/dist/services/terminal/spinner.d.ts.map +1 -0
  183. package/dist/services/terminal/spinner.js +61 -0
  184. package/dist/services/terminal/spinner.js.map +1 -0
  185. package/dist/services/terminal/theme.d.ts +31 -0
  186. package/dist/services/terminal/theme.d.ts.map +1 -0
  187. package/dist/services/terminal/theme.js +32 -0
  188. package/dist/services/terminal/theme.js.map +1 -0
  189. package/dist/services/track.d.ts +1 -3
  190. package/dist/services/track.d.ts.map +1 -1
  191. package/dist/services/track.js +7 -23
  192. package/dist/services/track.js.map +1 -1
  193. package/dist/services/untrack.d.ts +0 -2
  194. package/dist/services/untrack.d.ts.map +1 -1
  195. package/dist/services/untrack.js +4 -11
  196. package/dist/services/untrack.js.map +1 -1
  197. package/package.json +1 -2
  198. package/dist/config/sync-entry.d.ts.map +0 -1
  199. package/dist/config/sync-entry.js.map +0 -1
  200. package/dist/config/sync.d.ts +0 -8
  201. package/dist/config/sync.d.ts.map +0 -1
  202. package/dist/config/sync.js +0 -53
  203. package/dist/config/sync.js.map +0 -1
  204. package/dist/services/local-materialization.d.ts +0 -30
  205. package/dist/services/local-materialization.d.ts.map +0 -1
  206. package/dist/services/local-materialization.js.map +0 -1
  207. package/dist/services/paths.d.ts.map +0 -1
  208. package/dist/services/paths.js.map +0 -1
  209. package/dist/services/runtime.d.ts.map +0 -1
  210. package/dist/services/runtime.js.map +0 -1
  211. package/dist/services/set.d.ts.map +0 -1
  212. package/dist/services/set.js.map +0 -1
  213. package/dist/services/terminal/cli-runtime.d.ts +0 -18
  214. package/dist/services/terminal/cli-runtime.d.ts.map +0 -1
  215. package/dist/services/terminal/cli-runtime.js +0 -19
  216. package/dist/services/terminal/cli-runtime.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { ResolvedSyncConfig, ResolvedSyncConfigEntry, SyncMode } from "#app/config/sync-schema.ts";
1
+ import type { PlatformSyncMode, ResolvedSyncConfig, ResolvedSyncConfigEntry, SyncMode } from "#app/config/sync-schema.ts";
2
2
  export declare const findOwningSyncEntry: (config: Pick<ResolvedSyncConfig, "entries">, repoPath: string) => ResolvedSyncConfigEntry | undefined;
3
3
  export declare const collectChildEntryPaths: (config: Pick<ResolvedSyncConfig, "entries">, repoPath: string) => ReadonlySet<string>;
4
4
  export declare const resolveEntryRelativeRepoPath: (entry: Pick<ResolvedSyncConfigEntry, "kind" | "repoPath">, repoPath: string) => string | undefined;
@@ -9,6 +9,8 @@ export declare const resolveSyncRule: (config: ResolvedSyncConfig, repoPath: str
9
9
  export declare const resolveSyncMode: (config: ResolvedSyncConfig, repoPath: string, activeProfile?: string) => SyncMode | undefined;
10
10
  export declare const isIgnoredSyncPath: (config: ResolvedSyncConfig, repoPath: string) => boolean;
11
11
  export declare const isSecretSyncPath: (config: ResolvedSyncConfig, repoPath: string) => boolean;
12
- export declare const resolveManagedSyncMode: (config: ResolvedSyncConfig, repoPath: string, activeProfile?: string, context?: string) => "normal" | "secret" | "ignore";
12
+ export declare const requireManagedSyncMode: (config: ResolvedSyncConfig, repoPath: string, activeProfile?: string, context?: string) => "normal" | "secret" | "ignore";
13
+ export declare const buildDefaultPlatformMode: (mode: SyncMode) => PlatformSyncMode;
14
+ export declare const hasPlatformSpecificModeOverride: (configuredMode: PlatformSyncMode) => boolean;
13
15
  export declare const collectAllProfileNames: (entries: readonly ResolvedSyncConfigEntry[]) => string[];
14
- //# sourceMappingURL=sync-entry.d.ts.map
16
+ //# sourceMappingURL=sync-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-queries.d.ts","sourceRoot":"","sources":["../../src/config/sync-queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,QAAQ,EACT,MAAM,4BAA4B,CAAC;AAiBpC,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAC3C,UAAU,MAAM,KACf,uBAAuB,GAAG,SAa5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAC3C,UAAU,MAAM,KACf,WAAW,CAAC,MAAM,CASpB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,OAAO,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,UAAU,CAAC,EACzD,UAAU,MAAM,uBAejB,CAAC;AAuBF,eAAO,MAAM,eAAe,GAC1B,QAAQ,kBAAkB,EAC1B,UAAU,MAAM,EAChB,gBAAgB,MAAM,KACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAcxC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,kBAAkB,EAC1B,UAAU,MAAM,EAChB,gBAAgB,MAAM,KACrB,QAAQ,GAAG,SAEb,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,kBAAkB,EAC1B,UAAU,MAAM,YAGjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,kBAAkB,EAC1B,UAAU,MAAM,YAGjB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,kBAAkB,EAC1B,UAAU,MAAM,EAChB,gBAAgB,MAAM,EACtB,UAAU,MAAM,mCAmBjB,CAAC;AAMF,eAAO,MAAM,wBAAwB,GAAI,MAAM,QAAQ,KAAG,gBAExD,CAAC;AAEH,eAAO,MAAM,+BAA+B,GAC1C,gBAAgB,gBAAgB,YAQjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,SAAS,uBAAuB,EAAE,KAC1C,MAAM,EAUR,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CONSTANTS } from "#app/config/constants.ts";
1
+ import { AppConstants } from "#app/config/constants.ts";
2
2
  import { DotweaveError } from "#app/lib/error.ts";
3
3
  // ---------------------------------------------------------------------------
4
4
  // Entry lookup
@@ -42,12 +42,12 @@ export const resolveEntryRelativeRepoPath = (entry, repoPath) => {
42
42
  // ---------------------------------------------------------------------------
43
43
  const resolveProfileForEntry = (entry, activeProfile) => {
44
44
  if (entry.profiles.length === 0) {
45
- return CONSTANTS.SYNC.DEFAULT_PROFILE;
45
+ return AppConstants.SYNC.DEFAULT_PROFILE;
46
46
  }
47
47
  const effective = activeProfile !== undefined &&
48
- activeProfile !== CONSTANTS.SYNC.DEFAULT_PROFILE
48
+ activeProfile !== AppConstants.SYNC.DEFAULT_PROFILE
49
49
  ? activeProfile
50
- : CONSTANTS.SYNC.DEFAULT_PROFILE;
50
+ : AppConstants.SYNC.DEFAULT_PROFILE;
51
51
  return entry.profiles.includes(effective) ? effective : undefined;
52
52
  };
53
53
  export const resolveSyncRule = (config, repoPath, activeProfile) => {
@@ -70,7 +70,7 @@ export const isIgnoredSyncPath = (config, repoPath) => {
70
70
  export const isSecretSyncPath = (config, repoPath) => {
71
71
  return resolveSyncMode(config, repoPath) === "secret";
72
72
  };
73
- export const resolveManagedSyncMode = (config, repoPath, activeProfile, context) => {
73
+ export const requireManagedSyncMode = (config, repoPath, activeProfile, context) => {
74
74
  const mode = resolveSyncMode(config, repoPath, activeProfile);
75
75
  if (mode === undefined) {
76
76
  throw new DotweaveError("Repository path is not managed by the current sync configuration.", {
@@ -87,6 +87,15 @@ export const resolveManagedSyncMode = (config, repoPath, activeProfile, context)
87
87
  // ---------------------------------------------------------------------------
88
88
  // Profile collection
89
89
  // ---------------------------------------------------------------------------
90
+ export const buildDefaultPlatformMode = (mode) => ({
91
+ default: mode,
92
+ });
93
+ export const hasPlatformSpecificModeOverride = (configuredMode) => {
94
+ return (configuredMode.win !== undefined ||
95
+ configuredMode.mac !== undefined ||
96
+ configuredMode.linux !== undefined ||
97
+ configuredMode.wsl !== undefined);
98
+ };
90
99
  export const collectAllProfileNames = (entries) => {
91
100
  const profiles = new Set();
92
101
  for (const entry of entries) {
@@ -96,4 +105,4 @@ export const collectAllProfileNames = (entries) => {
96
105
  }
97
106
  return [...profiles].sort((left, right) => left.localeCompare(right));
98
107
  };
99
- //# sourceMappingURL=sync-entry.js.map
108
+ //# sourceMappingURL=sync-queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-queries.js","sourceRoot":"","sources":["../../src/config/sync-queries.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { CONSTANTS } from "#app/config/constants.ts";
2
+ import { AppConstants } from "#app/config/constants.ts";
3
3
  import { type PlatformKey, type PlatformStringValue } from "#app/config/platform.ts";
4
4
  declare const platformSyncModeSchema: z.ZodObject<{
5
5
  default: z.ZodEnum<{
@@ -35,7 +35,7 @@ declare const platformPermissionSchema: z.ZodObject<{
35
35
  linux: z.ZodOptional<z.ZodString>;
36
36
  wsl: z.ZodOptional<z.ZodString>;
37
37
  }, z.core.$strip>;
38
- declare const syncConfigSchema: z.ZodObject<{
38
+ export declare const syncConfigSchema: z.ZodObject<{
39
39
  version: z.ZodLiteral<7>;
40
40
  age: z.ZodOptional<z.ZodObject<{
41
41
  recipients: z.ZodArray<z.ZodString>;
@@ -98,11 +98,11 @@ declare const syncConfigSchema: z.ZodObject<{
98
98
  }, z.core.$strip>;
99
99
  declare const syncEntryKinds: readonly ["file", "directory"];
100
100
  export type SyncConfigEntryKind = (typeof syncEntryKinds)[number];
101
- export type SyncMode = (typeof CONSTANTS.SYNC.MODES)[number];
101
+ export type SyncMode = (typeof AppConstants.SYNC.MODES)[number];
102
102
  export type ConfiguredSyncRepoPath = PlatformStringValue;
103
103
  export type PlatformSyncMode = z.infer<typeof platformSyncModeSchema>;
104
104
  export type PlatformPermission = z.infer<typeof platformPermissionSchema>;
105
- export type SyncConfig = z.infer<typeof syncConfigSchema>;
105
+ export type RawSyncConfig = z.infer<typeof syncConfigSchema>;
106
106
  export type SyncConfigResolutionContext = Readonly<{
107
107
  homeDirectory: string;
108
108
  platformKey: PlatformKey;
@@ -130,7 +130,7 @@ export type AgeConfig = Readonly<{
130
130
  export type ResolvedSyncConfig = Readonly<{
131
131
  age?: AgeConfig;
132
132
  entries: readonly ResolvedSyncConfigEntry[];
133
- version: typeof CONSTANTS.SYNC.CONFIG_VERSION;
133
+ version: typeof AppConstants.SYNC.CONFIG_VERSION;
134
134
  }>;
135
135
  export declare const normalizeSyncRepoPath: (value: string) => string;
136
136
  export declare const normalizeSyncProfileName: (value: string, description?: string) => string;
@@ -140,7 +140,9 @@ export declare const validateResolvedSyncConfigEntries: (entries: readonly Resol
140
140
  export declare const parseSyncConfig: (input: unknown, context: SyncConfigResolutionContext) => ResolvedSyncConfig;
141
141
  export declare const createInitialSyncConfig: (age: {
142
142
  recipients: string[];
143
- }) => SyncConfig;
144
- export declare const formatSyncConfig: (config: SyncConfig) => string;
143
+ }) => RawSyncConfig;
144
+ export declare const formatSyncConfig: (config: RawSyncConfig) => string;
145
+ export declare const resolveSyncConfigFilePath: (syncDirectory: string) => string;
146
+ export declare const readSyncConfig: (syncDirectory: string, context: SyncConfigResolutionContext) => Promise<ResolvedSyncConfig>;
145
147
  export {};
146
148
  //# sourceMappingURL=sync-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-schema.d.ts","sourceRoot":"","sources":["../../src/config/sync-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-schema.d.ts","sourceRoot":"","sources":["../../src/config/sync-schema.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import { isAbsolute, posix, relative, sep } from "node:path";
1
+ import { readFile } from "node:fs/promises";
2
+ import { isAbsolute, join, posix, relative, sep } from "node:path";
2
3
  import { z } from "zod";
3
- import { CONSTANTS } from "#app/config/constants.ts";
4
+ import { AppConstants } from "#app/config/constants.ts";
4
5
  import { resolvePlatformValue, } from "#app/config/platform.ts";
5
6
  import { resolveConfiguredAbsolutePath } from "#app/config/xdg.ts";
6
7
  import { DotweaveError } from "#app/lib/error.ts";
7
8
  import { parsePermissionOctal } from "#app/lib/file-mode.ts";
9
+ import { parseJsonc, validateJsoncConfigPath } from "#app/lib/jsonc.ts";
8
10
  import { doPathsOverlap } from "#app/lib/path.ts";
9
11
  import { ensureTrailingNewline } from "#app/lib/string.ts";
10
12
  import { formatInputIssues } from "#app/lib/validation.ts";
@@ -35,11 +37,11 @@ const platformRepoPathSchema = z.object({
35
37
  });
36
38
  const repoPathSchema = platformRepoPathSchema;
37
39
  const platformSyncModeSchema = z.object({
38
- default: z.enum(CONSTANTS.SYNC.MODES),
39
- win: z.enum(CONSTANTS.SYNC.MODES).optional(),
40
- mac: z.enum(CONSTANTS.SYNC.MODES).optional(),
41
- linux: z.enum(CONSTANTS.SYNC.MODES).optional(),
42
- wsl: z.enum(CONSTANTS.SYNC.MODES).optional(),
40
+ default: z.enum(AppConstants.SYNC.MODES),
41
+ win: z.enum(AppConstants.SYNC.MODES).optional(),
42
+ mac: z.enum(AppConstants.SYNC.MODES).optional(),
43
+ linux: z.enum(AppConstants.SYNC.MODES).optional(),
44
+ wsl: z.enum(AppConstants.SYNC.MODES).optional(),
43
45
  });
44
46
  const permissionOctalSchema = z
45
47
  .string()
@@ -65,11 +67,11 @@ const syncConfigAgeSchema = z.object({
65
67
  .min(1, "At least one age recipient is required."),
66
68
  });
67
69
  const syncConfigSchemaV7 = z.object({
68
- version: z.literal(CONSTANTS.SYNC.CONFIG_VERSION),
70
+ version: z.literal(AppConstants.SYNC.CONFIG_VERSION),
69
71
  age: syncConfigAgeSchema.optional(),
70
72
  entries: z.array(syncConfigEntrySchema),
71
73
  });
72
- const syncConfigSchema = syncConfigSchemaV7;
74
+ export const syncConfigSchema = syncConfigSchemaV7;
73
75
  // ---------------------------------------------------------------------------
74
76
  // Exported types
75
77
  // ---------------------------------------------------------------------------
@@ -91,7 +93,7 @@ export const normalizeSyncRepoPath = (value) => {
91
93
  });
92
94
  }
93
95
  if (hasReservedSyncArtifactSuffixSegment(normalizedValue)) {
94
- throw new DotweaveError(`Repository path must not use the reserved suffix ${CONSTANTS.SYNC.SECRET_ARTIFACT_SUFFIX}.`, {
96
+ throw new DotweaveError(`Repository path must not use the reserved suffix ${AppConstants.SYNC.SECRET_ARTIFACT_SUFFIX}.`, {
95
97
  code: "RESERVED_SECRET_SUFFIX",
96
98
  details: [`Repository path: ${value}`],
97
99
  hint: "Rename the path so no segment ends with the secret artifact suffix.",
@@ -134,7 +136,7 @@ export const hasReservedSyncArtifactSuffixSegment = (value) => {
134
136
  return value
135
137
  .replaceAll("\\", "/")
136
138
  .split("/")
137
- .some((segment) => segment.endsWith(CONSTANTS.SYNC.SECRET_ARTIFACT_SUFFIX));
139
+ .some((segment) => segment.endsWith(AppConstants.SYNC.SECRET_ARTIFACT_SUFFIX));
138
140
  };
139
141
  export const deriveRepoPathFromLocalPath = (localPath, homeDirectory) => {
140
142
  const resolvedDefaultPath = resolveConfiguredAbsolutePath(localPath.default, homeDirectory, undefined);
@@ -160,8 +162,8 @@ const validatePathOverlaps = (entries, property, description) => {
160
162
  if (currentValue === otherValue) {
161
163
  const isRepoPath = property === "repoPath";
162
164
  throw new DotweaveError(isRepoPath
163
- ? `Multiple entries target the same repository path in ${CONSTANTS.SYNC.CONFIG_FILE_NAME}.`
164
- : `Duplicate ${description.toLowerCase()} paths in ${CONSTANTS.SYNC.CONFIG_FILE_NAME}.`, {
165
+ ? `Multiple entries target the same repository path in ${AppConstants.SYNC.CONFIG_FILE_NAME}.`
166
+ : `Duplicate ${description.toLowerCase()} paths in ${AppConstants.SYNC.CONFIG_FILE_NAME}.`, {
165
167
  code: "DUPLICATE_PATHS",
166
168
  details: isRepoPath
167
169
  ? [
@@ -174,7 +176,7 @@ const validatePathOverlaps = (entries, property, description) => {
174
176
  ],
175
177
  hint: isRepoPath
176
178
  ? "Each entry must use a unique repoPath. Change or remove one of the conflicting entries."
177
- : `Remove the duplicate entry from ${CONSTANTS.SYNC.CONFIG_FILE_NAME}.`,
179
+ : `Remove the duplicate entry from ${AppConstants.SYNC.CONFIG_FILE_NAME}.`,
178
180
  });
179
181
  }
180
182
  const isParentChild = currentValue.startsWith(`${otherValue}/`) ||
@@ -188,7 +190,7 @@ const validatePathOverlaps = (entries, property, description) => {
188
190
  ? false
189
191
  : doPathsOverlap(currentValue, otherValue);
190
192
  if (overlaps) {
191
- throw new DotweaveError(`${description} paths must not overlap in ${CONSTANTS.SYNC.CONFIG_FILE_NAME}.`, {
193
+ throw new DotweaveError(`${description} paths must not overlap in ${AppConstants.SYNC.CONFIG_FILE_NAME}.`, {
192
194
  code: "OVERLAPPING_PATHS",
193
195
  details: [
194
196
  `${currentEntry.repoPath}: ${currentValue}`,
@@ -207,7 +209,9 @@ export const validateResolvedSyncConfigEntries = (entries) => {
207
209
  // ---------------------------------------------------------------------------
208
210
  // Internal parsing helpers
209
211
  // ---------------------------------------------------------------------------
210
- const defaultSyncMode = { default: CONSTANTS.SYNC.MODES[0] };
212
+ const defaultSyncMode = {
213
+ default: AppConstants.SYNC.MODES[0],
214
+ };
211
215
  const resolveSyncModeForPlatform = (configuredMode, platformKey) => {
212
216
  if (platformKey === "wsl") {
213
217
  return configuredMode.wsl ?? configuredMode.linux ?? configuredMode.default;
@@ -327,7 +331,7 @@ export const parseSyncConfig = (input, context) => {
327
331
  throw new DotweaveError("Sync configuration is invalid.", {
328
332
  code: "CONFIG_VALIDATION_FAILED",
329
333
  details: formatInputIssues(result.error.issues).split("\n"),
330
- hint: `Fix the invalid fields in ${CONSTANTS.SYNC.CONFIG_FILE_NAME}, then run the command again.`,
334
+ hint: `Fix the invalid fields in ${AppConstants.SYNC.CONFIG_FILE_NAME}, then run the command again.`,
331
335
  });
332
336
  }
333
337
  const rawEntries = result.data.entries.map((entry) => {
@@ -381,7 +385,7 @@ export const parseSyncConfig = (input, context) => {
381
385
  };
382
386
  export const createInitialSyncConfig = (age) => {
383
387
  return {
384
- version: CONSTANTS.SYNC.CONFIG_VERSION,
388
+ version: AppConstants.SYNC.CONFIG_VERSION,
385
389
  age,
386
390
  entries: [],
387
391
  };
@@ -389,4 +393,35 @@ export const createInitialSyncConfig = (age) => {
389
393
  export const formatSyncConfig = (config) => {
390
394
  return ensureTrailingNewline(JSON.stringify(config, null, 2));
391
395
  };
396
+ export const resolveSyncConfigFilePath = (syncDirectory) => {
397
+ return join(syncDirectory, AppConstants.SYNC.CONFIG_FILE_NAME);
398
+ };
399
+ export const readSyncConfig = async (syncDirectory, context) => {
400
+ const filePath = await validateJsoncConfigPath(resolveSyncConfigFilePath(syncDirectory));
401
+ try {
402
+ const contents = await readFile(filePath, "utf8");
403
+ const parsed = parseJsonc(contents);
404
+ return parseSyncConfig(parsed, context);
405
+ }
406
+ catch (error) {
407
+ if (error instanceof DotweaveError) {
408
+ throw error;
409
+ }
410
+ if (error instanceof SyntaxError) {
411
+ throw new DotweaveError("Sync configuration is not valid JSON.", {
412
+ code: "CONFIG_INVALID_JSON",
413
+ details: [`Config file: ${filePath}`, error.message],
414
+ hint: `Fix the JSON syntax in ${AppConstants.SYNC.CONFIG_FILE_NAME}, then run the command again.`,
415
+ });
416
+ }
417
+ throw new DotweaveError("Failed to read sync configuration.", {
418
+ code: "CONFIG_READ_FAILED",
419
+ details: [
420
+ `Config file: ${filePath}`,
421
+ ...(error instanceof Error ? [error.message] : []),
422
+ ],
423
+ hint: "Run 'dotweave init' if the sync directory has not been initialized yet.",
424
+ });
425
+ }
426
+ };
392
427
  //# sourceMappingURL=sync-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-schema.js","sourceRoot":"","sources":["../../src/config/sync-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-schema.js","sourceRoot":"","sources":["../../src/config/sync-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xdg.d.ts","sourceRoot":"","sources":["../../src/config/xdg.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,GAAG,SAAS,WAQ5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,GAAG,SAAS,EACxB,eAAe,MAAM,GAAG,SAAS,WASlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,eAAe,MAAM,WAEnE,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAC9C,yBAAyB,MAAM,WAGhC,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,yBAAyB,MAAM,WAGhC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,WAWrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,MAAM,MAAM,GAAG,SAAS,EACxB,eAAe,MAAM,GAAG,SAAS,EACjC,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,WA4B/C,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,OAAO,MAAM,EACb,MAAM,MAAM,GAAG,SAAS,EACxB,eAAe,MAAM,GAAG,SAAS,EACjC,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,WAgB/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,SAAS,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,KAC5C,MAUF,CAAC"}
1
+ {"version":3,"file":"xdg.d.ts","sourceRoot":"","sources":["../../src/config/xdg.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,GAAG,SAAS,WAQ5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,GAAG,SAAS,EACxB,eAAe,MAAM,GAAG,SAAS,WASlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,eAAe,MAAM,WAEnE,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAC9C,yBAAyB,MAAM,WAGhC,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,yBAAyB,MAAM,WAGhC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,WAWrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,MAAM,MAAM,GAAG,SAAS,EACxB,eAAe,MAAM,GAAG,SAAS,EACjC,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,WAsB/C,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,OAAO,MAAM,EACb,MAAM,MAAM,GAAG,SAAS,EACxB,eAAe,MAAM,GAAG,SAAS,EACjC,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,WAgB/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,SAAS,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,KAC5C,MAUF,CAAC"}
@@ -1,43 +1,29 @@
1
1
  import { homedir } from "node:os";
2
2
  import { isAbsolute, resolve } from "node:path";
3
- import { CONSTANTS } from "#app/config/constants.ts";
4
- const xdgConfigHomeToken = "$XDG_CONFIG_HOME";
5
- const xdgConfigHomeTokenPrefix = `${xdgConfigHomeToken}/`;
6
- const bracedXdgConfigHomeToken = "${XDG_CONFIG_HOME}";
7
- const bracedXdgConfigHomePrefix = `${bracedXdgConfigHomeToken}/`;
8
- const trimConfiguredValue = (value) => {
9
- if (value === undefined) {
10
- return undefined;
11
- }
12
- const trimmedValue = value.trim();
13
- return trimmedValue === "" ? undefined : trimmedValue;
14
- };
15
- const readTrimmedEnvironmentValue = (readEnv, key) => {
16
- const value = readEnv(key);
17
- return value === undefined ? undefined : trimConfiguredValue(value);
18
- };
3
+ import { AppConstants } from "#app/config/constants.ts";
4
+ import { normalizeConfiguredValue } from "#app/lib/string.ts";
19
5
  export const resolveHomeDirectory = (home) => {
20
- const configuredValue = trimConfiguredValue(home);
6
+ const configuredValue = normalizeConfiguredValue(home);
21
7
  if (configuredValue !== undefined) {
22
8
  return resolve(configuredValue);
23
9
  }
24
10
  return resolve(homedir());
25
11
  };
26
12
  export const resolveXdgConfigHome = (home, xdgConfigHome) => {
27
- const configuredValue = trimConfiguredValue(xdgConfigHome);
13
+ const configuredValue = normalizeConfiguredValue(xdgConfigHome);
28
14
  if (configuredValue !== undefined) {
29
15
  return resolve(configuredValue);
30
16
  }
31
17
  return resolve(resolveHomeDirectory(home), ".config");
32
18
  };
33
19
  export const resolveDotweaveConfigDirectory = (xdgConfigHome) => {
34
- return resolve(xdgConfigHome, CONSTANTS.XDG.APP_DIRECTORY_NAME);
20
+ return resolve(xdgConfigHome, AppConstants.XDG.APP_DIRECTORY_NAME);
35
21
  };
36
22
  export const resolveDotweaveGlobalConfigFilePath = (dotweaveConfigDirectory) => {
37
- return resolve(dotweaveConfigDirectory, CONSTANTS.GLOBAL_CONFIG.FILE_NAME);
23
+ return resolve(dotweaveConfigDirectory, AppConstants.GLOBAL_CONFIG.FILE_NAME);
38
24
  };
39
25
  export const resolveDotweaveSyncDirectory = (dotweaveConfigDirectory) => {
40
- return resolve(dotweaveConfigDirectory, CONSTANTS.XDG.SYNC_DIRECTORY_NAME);
26
+ return resolve(dotweaveConfigDirectory, AppConstants.XDG.SYNC_DIRECTORY_NAME);
41
27
  };
42
28
  export const expandHomePath = (value, home) => {
43
29
  let expandedValue = value.trim();
@@ -57,30 +43,25 @@ export const expandConfiguredPath = (value, home, xdgConfigHome, readEnv) => {
57
43
  }
58
44
  expandedValue = expandHomePath(expandedValue, home);
59
45
  const resolvedXdgConfigHome = resolveXdgConfigHome(home, xdgConfigHome);
60
- if (expandedValue === xdgConfigHomeToken) {
61
- expandedValue = resolvedXdgConfigHome;
62
- }
63
- else if (expandedValue.startsWith(xdgConfigHomeTokenPrefix)) {
64
- expandedValue = resolve(resolvedXdgConfigHome, expandedValue.slice(xdgConfigHomeTokenPrefix.length));
65
- }
66
- else if (expandedValue === bracedXdgConfigHomeToken) {
67
- expandedValue = resolvedXdgConfigHome;
68
- }
69
- else if (expandedValue.startsWith(bracedXdgConfigHomePrefix)) {
70
- expandedValue = resolve(resolvedXdgConfigHome, expandedValue.slice(bracedXdgConfigHomePrefix.length));
46
+ const xdgMatch = expandedValue.match(/^\$(?:\{XDG_CONFIG_HOME\}|XDG_CONFIG_HOME)(?:\/(.*))?$/);
47
+ if (xdgMatch) {
48
+ expandedValue =
49
+ xdgMatch[1] != null
50
+ ? resolve(resolvedXdgConfigHome, xdgMatch[1])
51
+ : resolvedXdgConfigHome;
71
52
  }
72
53
  return expandedValue;
73
54
  };
74
55
  export const resolveConfiguredAbsolutePath = (value, home, xdgConfigHome, readEnv) => {
75
56
  const expandedValue = expandConfiguredPath(value, home, xdgConfigHome, readEnv);
76
57
  if (!isAbsolute(expandedValue)) {
77
- throw new Error(`Configured path must be absolute or start with ~ or ${xdgConfigHomeToken}: ${value}`);
58
+ throw new Error(`Configured path must be absolute or start with ~ or $XDG_CONFIG_HOME: ${value}`);
78
59
  }
79
60
  return resolve(expandedValue);
80
61
  };
81
62
  export const expandWindowsEnvVars = (value, readEnv) => {
82
63
  return value.replace(/%([^%]+)%/g, (_match, varName) => {
83
- const envValue = readTrimmedEnvironmentValue(readEnv, varName);
64
+ const envValue = normalizeConfiguredValue(readEnv(varName));
84
65
  if (envValue === undefined) {
85
66
  throw new Error(`Environment variable %${varName}% is not defined.`);
86
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xdg.js","sourceRoot":"","sources":["../../src/config/xdg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xdg.js","sourceRoot":"","sources":["../../src/config/xdg.ts"],"names":[],"mappings":"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"}
package/dist/lib/error.js CHANGED
@@ -33,7 +33,7 @@ export const formatDotweaveError = (error) => {
33
33
  return compactLines([
34
34
  error.message,
35
35
  ...error.details,
36
- error.hint === undefined ? undefined : `Hint: ${error.hint}`,
36
+ error.hint === undefined ? undefined : `→ ${error.hint}`,
37
37
  ]).join("\n");
38
38
  };
39
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/lib/error.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,KAAsC,EAAE,EAAE;IAC9D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE;QAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtB,IAAI,CAAU;IACd,OAAO,CAAoB;IAC3B,IAAI,CAAU;IAE9B,YAAmB,OAAe,EAAE,UAAgC,EAAE;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAqC,EAAE,EAAE;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,OAAO;QACb,GAAG,KAAK,CAAC,OAAO;QAChB,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE;KAC7D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAe,EACf,KAAc,EACd,UAAgC,EAAE,EAClC,EAAE;IACF,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7E,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE;QAChC,GAAG,OAAO;QACV,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/lib/error.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,KAAsC,EAAE,EAAE;IAC9D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE;QAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtB,IAAI,CAAU;IACd,OAAO,CAAoB;IAC3B,IAAI,CAAU;IAE9B,YAAmB,OAAe,EAAE,UAAgC,EAAE;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAqC,EAAE,EAAE;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,OAAO;QACb,GAAG,KAAK,CAAC,OAAO;QAChB,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE;KACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAe,EACf,KAAc,EACd,UAAgC,EAAE,EAClC,EAAE;IACF,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7E,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE;QAChC,GAAG,OAAO;QACV,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC,CAAC"}
package/dist/lib/git.d.ts CHANGED
@@ -1,14 +1,13 @@
1
- import type { ConsolaInstance } from "consola";
2
1
  /**
3
2
  * @description
4
3
  * Verifies that a directory is already a git working tree.
5
4
  */
6
- export declare const ensureRepository: (directory: string) => Promise<void>;
5
+ export declare const verifyIsGitRepository: (directory: string) => Promise<void>;
7
6
  /**
8
7
  * @description
9
8
  * Creates a sync directory locally or clones it from a remote source.
10
9
  */
11
- export declare const initializeRepository: (directory: string, source?: string, reporter?: ConsolaInstance) => Promise<{
10
+ export declare const initializeRepository: (directory: string, source?: string) => Promise<{
12
11
  action: "initialized";
13
12
  source?: undefined;
14
13
  } | {
@@ -19,5 +18,5 @@ export declare const initializeRepository: (directory: string, source?: string,
19
18
  * @description
20
19
  * Ensures the sync directory is a usable git repository for dotweave commands.
21
20
  */
22
- export declare const ensureGitRepository: (syncDirectory: string) => Promise<void>;
21
+ export declare const requireGitRepository: (syncDirectory: string) => Promise<void>;
23
22
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmK/C;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAU,WAAW,MAAM,kBAEvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,MAAM,EACjB,SAAS,MAAM,EACf,WAAW,eAAe;;;;;;EAoB3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAU,eAAe,MAAM,kBAU9D,CAAC"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"AA8GA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAU,WAAW,MAAM,kBAE5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,MAAM,EACjB,SAAS,MAAM;;;;;;EAgBhB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,eAAe,MAAM,kBAU/D,CAAC"}