@mhalle/vost 0.8.1

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 (51) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +24 -0
  3. package/dist/batch.d.ts +82 -0
  4. package/dist/batch.js +152 -0
  5. package/dist/batch.js.map +1 -0
  6. package/dist/copy.d.ts +242 -0
  7. package/dist/copy.js +1229 -0
  8. package/dist/copy.js.map +1 -0
  9. package/dist/exclude.d.ts +68 -0
  10. package/dist/exclude.js +157 -0
  11. package/dist/exclude.js.map +1 -0
  12. package/dist/fileobj.d.ts +82 -0
  13. package/dist/fileobj.js +127 -0
  14. package/dist/fileobj.js.map +1 -0
  15. package/dist/fs.d.ts +581 -0
  16. package/dist/fs.js +1318 -0
  17. package/dist/fs.js.map +1 -0
  18. package/dist/gitstore.d.ts +74 -0
  19. package/dist/gitstore.js +131 -0
  20. package/dist/gitstore.js.map +1 -0
  21. package/dist/glob.d.ts +14 -0
  22. package/dist/glob.js +68 -0
  23. package/dist/glob.js.map +1 -0
  24. package/dist/index.d.ts +37 -0
  25. package/dist/index.js +51 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/lock.d.ts +15 -0
  28. package/dist/lock.js +71 -0
  29. package/dist/lock.js.map +1 -0
  30. package/dist/mirror.d.ts +53 -0
  31. package/dist/mirror.js +270 -0
  32. package/dist/mirror.js.map +1 -0
  33. package/dist/notes.d.ts +148 -0
  34. package/dist/notes.js +508 -0
  35. package/dist/notes.js.map +1 -0
  36. package/dist/paths.d.ts +16 -0
  37. package/dist/paths.js +44 -0
  38. package/dist/paths.js.map +1 -0
  39. package/dist/refdict.d.ts +117 -0
  40. package/dist/refdict.js +267 -0
  41. package/dist/refdict.js.map +1 -0
  42. package/dist/reflog.d.ts +33 -0
  43. package/dist/reflog.js +83 -0
  44. package/dist/reflog.js.map +1 -0
  45. package/dist/tree.d.ts +79 -0
  46. package/dist/tree.js +283 -0
  47. package/dist/tree.js.map +1 -0
  48. package/dist/types.d.ts +354 -0
  49. package/dist/types.js +302 -0
  50. package/dist/types.js.map +1 -0
  51. package/package.json +58 -0
package/dist/fs.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * GitStore: versioned filesystem backed by a bare git repository.
3
+ */
4
+ import type { FsModule, Signature, MirrorDiff, HttpClient } from './types.js';
5
+ import { RefDict } from './refdict.js';
6
+ import { NoteDict } from './notes.js';
7
+ /**
8
+ * A versioned filesystem backed by a bare git repository.
9
+ *
10
+ * Open or create a store with `GitStore.open()`. Access snapshots via
11
+ * `branches`, `tags`, and `notes`.
12
+ */
13
+ export declare class GitStore {
14
+ /** @internal */ _fsModule: FsModule;
15
+ /** @internal */ _gitdir: string;
16
+ /** @internal */ _signature: Signature;
17
+ /** Dict-like access to branches. */
18
+ branches: RefDict;
19
+ /** Dict-like access to tags. */
20
+ tags: RefDict;
21
+ /** Git notes namespaces. */
22
+ notes: NoteDict;
23
+ constructor(fsModule: FsModule, gitdir: string, author: string, email: string);
24
+ toString(): string;
25
+ /**
26
+ * Open or create a bare git repository.
27
+ *
28
+ * @param path - Path to the bare repository directory.
29
+ * @param opts.fs - Node.js `fs` module (or compatible).
30
+ * @param opts.create - Create the repo if it doesn't exist (default: true).
31
+ * @param opts.branch - Initial branch when creating (default: "main"). Null for no branch.
32
+ * @param opts.author - Default author name (default: "vost").
33
+ * @param opts.email - Default author email (default: "vost@localhost").
34
+ */
35
+ static open(path: string, opts: {
36
+ fs: FsModule;
37
+ create?: boolean;
38
+ branch?: string | null;
39
+ author?: string;
40
+ email?: string;
41
+ }): Promise<GitStore>;
42
+ /**
43
+ * Push all refs to url, creating an exact mirror.
44
+ *
45
+ * Remote-only refs are deleted.
46
+ *
47
+ * @param url - Remote repository URL (HTTPS or local path).
48
+ * @param opts.http - HTTP client (isomorphic-git compatible).
49
+ * @param opts.dryRun - Compute diff without pushing.
50
+ * @param opts.onAuth - Optional authentication callback.
51
+ * @returns A MirrorDiff describing what changed (or would change).
52
+ */
53
+ backup(url: string, opts?: {
54
+ http: HttpClient;
55
+ dryRun?: boolean;
56
+ onAuth?: Function;
57
+ }): Promise<MirrorDiff>;
58
+ /**
59
+ * Fetch all refs from url, overwriting local state.
60
+ *
61
+ * Local-only refs are deleted.
62
+ *
63
+ * @param url - Remote repository URL (HTTPS or local path).
64
+ * @param opts.http - HTTP client (isomorphic-git compatible).
65
+ * @param opts.dryRun - Compute diff without fetching.
66
+ * @param opts.onAuth - Optional authentication callback.
67
+ * @returns A MirrorDiff describing what changed (or would change).
68
+ */
69
+ restore(url: string, opts?: {
70
+ http: HttpClient;
71
+ dryRun?: boolean;
72
+ onAuth?: Function;
73
+ }): Promise<MirrorDiff>;
74
+ }
@@ -0,0 +1,131 @@
1
+ /**
2
+ * GitStore: versioned filesystem backed by a bare git repository.
3
+ */
4
+ import git from 'isomorphic-git';
5
+ import { RefDict } from './refdict.js';
6
+ import { NoteDict } from './notes.js';
7
+ /**
8
+ * A versioned filesystem backed by a bare git repository.
9
+ *
10
+ * Open or create a store with `GitStore.open()`. Access snapshots via
11
+ * `branches`, `tags`, and `notes`.
12
+ */
13
+ export class GitStore {
14
+ /** @internal */ _fsModule;
15
+ /** @internal */ _gitdir;
16
+ /** @internal */ _signature;
17
+ /** Dict-like access to branches. */
18
+ branches;
19
+ /** Dict-like access to tags. */
20
+ tags;
21
+ /** Git notes namespaces. */
22
+ notes;
23
+ constructor(fsModule, gitdir, author, email) {
24
+ this._fsModule = fsModule;
25
+ this._gitdir = gitdir;
26
+ this._signature = { name: author, email };
27
+ this.branches = new RefDict(this, 'refs/heads/');
28
+ this.tags = new RefDict(this, 'refs/tags/');
29
+ this.notes = new NoteDict(this);
30
+ }
31
+ toString() {
32
+ return `GitStore('${this._gitdir}')`;
33
+ }
34
+ /**
35
+ * Open or create a bare git repository.
36
+ *
37
+ * @param path - Path to the bare repository directory.
38
+ * @param opts.fs - Node.js `fs` module (or compatible).
39
+ * @param opts.create - Create the repo if it doesn't exist (default: true).
40
+ * @param opts.branch - Initial branch when creating (default: "main"). Null for no branch.
41
+ * @param opts.author - Default author name (default: "vost").
42
+ * @param opts.email - Default author email (default: "vost@localhost").
43
+ */
44
+ static async open(path, opts) {
45
+ const fsModule = opts.fs;
46
+ const create = opts.create ?? true;
47
+ const branch = opts.branch !== undefined ? opts.branch : 'main';
48
+ const author = opts.author ?? 'vost';
49
+ const email = opts.email ?? 'vost@localhost';
50
+ // Check if repo exists
51
+ let exists = false;
52
+ try {
53
+ await fsModule.promises.stat(`${path}/HEAD`);
54
+ exists = true;
55
+ }
56
+ catch { /* not found */ }
57
+ if (exists) {
58
+ return new GitStore(fsModule, path, author, email);
59
+ }
60
+ if (!create) {
61
+ throw new Error(`Repository not found: ${path}`);
62
+ }
63
+ // Create bare repo
64
+ await git.init({ fs: fsModule, gitdir: path, bare: true });
65
+ const store = new GitStore(fsModule, path, author, email);
66
+ if (branch !== null) {
67
+ // Create initial empty commit on the branch
68
+ const emptyTreeOid = await git.writeTree({ fs: fsModule, gitdir: path, tree: [] });
69
+ const now = Math.floor(Date.now() / 1000);
70
+ const commitOid = await git.writeCommit({
71
+ fs: fsModule,
72
+ gitdir: path,
73
+ commit: {
74
+ message: `Initialize ${branch}\n`,
75
+ tree: emptyTreeOid,
76
+ parent: [],
77
+ author: { name: author, email, timestamp: now, timezoneOffset: 0 },
78
+ committer: { name: author, email, timestamp: now, timezoneOffset: 0 },
79
+ },
80
+ });
81
+ // Create the branch ref
82
+ await git.writeRef({
83
+ fs: fsModule,
84
+ gitdir: path,
85
+ ref: `refs/heads/${branch}`,
86
+ value: commitOid,
87
+ });
88
+ // Set HEAD to point at the branch
89
+ await git.writeRef({
90
+ fs: fsModule,
91
+ gitdir: path,
92
+ ref: 'HEAD',
93
+ value: `refs/heads/${branch}`,
94
+ symbolic: true,
95
+ force: true,
96
+ });
97
+ }
98
+ return store;
99
+ }
100
+ /**
101
+ * Push all refs to url, creating an exact mirror.
102
+ *
103
+ * Remote-only refs are deleted.
104
+ *
105
+ * @param url - Remote repository URL (HTTPS or local path).
106
+ * @param opts.http - HTTP client (isomorphic-git compatible).
107
+ * @param opts.dryRun - Compute diff without pushing.
108
+ * @param opts.onAuth - Optional authentication callback.
109
+ * @returns A MirrorDiff describing what changed (or would change).
110
+ */
111
+ async backup(url, opts = {}) {
112
+ const { backup } = await import('./mirror.js');
113
+ return backup(this, url, opts);
114
+ }
115
+ /**
116
+ * Fetch all refs from url, overwriting local state.
117
+ *
118
+ * Local-only refs are deleted.
119
+ *
120
+ * @param url - Remote repository URL (HTTPS or local path).
121
+ * @param opts.http - HTTP client (isomorphic-git compatible).
122
+ * @param opts.dryRun - Compute diff without fetching.
123
+ * @param opts.onAuth - Optional authentication callback.
124
+ * @returns A MirrorDiff describing what changed (or would change).
125
+ */
126
+ async restore(url, opts = {}) {
127
+ const { restore } = await import('./mirror.js');
128
+ return restore(this, url, opts);
129
+ }
130
+ }
131
+ //# sourceMappingURL=gitstore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitstore.js","sourceRoot":"","sources":["../src/gitstore.ts"],"names":[],"mappings":"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"}
package/dist/glob.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Glob matching utilities for vost.
3
+ *
4
+ * Provides fnmatch-style matching with dotfile-aware semantics:
5
+ * `*` and `?` do not match a leading `.` unless the pattern itself starts with `.`.
6
+ */
7
+ /**
8
+ * Match a single filename against a glob pattern segment.
9
+ *
10
+ * Supports `*`, `?`, `[seq]`, and `[!seq]`. Does not match across `/`.
11
+ * A leading `.` in name is not matched by `*` or `?` unless the pattern
12
+ * itself starts with `.` (Unix/rsync convention).
13
+ */
14
+ export declare function globMatch(pattern: string, name: string): boolean;
package/dist/glob.js ADDED
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Glob matching utilities for vost.
3
+ *
4
+ * Provides fnmatch-style matching with dotfile-aware semantics:
5
+ * `*` and `?` do not match a leading `.` unless the pattern itself starts with `.`.
6
+ */
7
+ /**
8
+ * Match a single filename against a glob pattern segment.
9
+ *
10
+ * Supports `*`, `?`, `[seq]`, and `[!seq]`. Does not match across `/`.
11
+ * A leading `.` in name is not matched by `*` or `?` unless the pattern
12
+ * itself starts with `.` (Unix/rsync convention).
13
+ */
14
+ export function globMatch(pattern, name) {
15
+ if (!pattern.startsWith('.') && name.startsWith('.')) {
16
+ return false;
17
+ }
18
+ return fnmatch(pattern, name);
19
+ }
20
+ /**
21
+ * fnmatch-style glob matching (single segment, no path separators).
22
+ * Supports `*`, `?`, `[seq]`, `[!seq]`.
23
+ */
24
+ function fnmatch(pattern, name) {
25
+ const regex = globToRegex(pattern);
26
+ return regex.test(name);
27
+ }
28
+ function globToRegex(pattern) {
29
+ let result = '^';
30
+ let i = 0;
31
+ while (i < pattern.length) {
32
+ const ch = pattern[i];
33
+ if (ch === '*') {
34
+ result += '.*';
35
+ }
36
+ else if (ch === '?') {
37
+ result += '.';
38
+ }
39
+ else if (ch === '[') {
40
+ let j = i + 1;
41
+ let negate = false;
42
+ if (j < pattern.length && pattern[j] === '!') {
43
+ negate = true;
44
+ j++;
45
+ }
46
+ const end = pattern.indexOf(']', j);
47
+ if (end < 0) {
48
+ // No closing bracket — treat `[` as literal
49
+ result += '\\[';
50
+ }
51
+ else {
52
+ const chars = pattern.slice(j, end).replace(/[\\\]^]/g, '\\$&');
53
+ result += negate ? `[^${chars}]` : `[${chars}]`;
54
+ i = end;
55
+ }
56
+ }
57
+ else if ('.+^${}()|\\'.includes(ch)) {
58
+ result += '\\' + ch;
59
+ }
60
+ else {
61
+ result += ch;
62
+ }
63
+ i++;
64
+ }
65
+ result += '$';
66
+ return new RegExp(result);
67
+ }
68
+ //# sourceMappingURL=glob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,IAAY;IACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,OAAe,EAAE,IAAY;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,CAAC;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7C,MAAM,GAAG,IAAI,CAAC;gBACd,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,4CAA4C;gBAC5C,MAAM,IAAI,KAAK,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAChE,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;gBAChD,CAAC,GAAG,GAAG,CAAC;YACV,CAAC;QACH,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,MAAM,IAAI,GAAG,CAAC;IACd,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * vost — A versioned filesystem backed by a bare git repository.
3
+ *
4
+ * TypeScript port using isomorphic-git.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import * as fs from 'node:fs';
9
+ * import { GitStore } from 'vost';
10
+ *
11
+ * const store = await GitStore.open('/tmp/myrepo.git', { fs });
12
+ * const snapshot = await store.branches.get('main');
13
+ *
14
+ * // Read
15
+ * const text = await snapshot.readText('hello.txt');
16
+ *
17
+ * // Write (returns new immutable snapshot)
18
+ * const next = await snapshot.writeText('hello.txt', 'Hello, world!');
19
+ *
20
+ * // Batch writes
21
+ * const batch = next.batch();
22
+ * await batch.write('a.txt', new TextEncoder().encode('aaa'));
23
+ * await batch.write('b.txt', new TextEncoder().encode('bbb'));
24
+ * const result = await batch.commit();
25
+ * ```
26
+ */
27
+ export { GitStore } from './gitstore.js';
28
+ export { FS, retryWrite } from './fs.js';
29
+ export { Batch } from './batch.js';
30
+ export { FsWriter, BatchWriter } from './fileobj.js';
31
+ export { RefDict } from './refdict.js';
32
+ export { NoteDict, NoteNamespace, NotesBatch } from './notes.js';
33
+ export { FileType, fileTypeFromMode, fileModeFromType, MODE_BLOB, MODE_BLOB_EXEC, MODE_LINK, MODE_TREE, GitStoreError, StaleSnapshotError, FileNotFoundError, IsADirectoryError, NotADirectoryError, PermissionError, KeyNotFoundError, KeyExistsError, InvalidRefNameError, InvalidPathError, BatchClosedError, type WalkEntry, type WriteEntry, type StatResult, type FileEntry, type ChangeAction, type ChangeError, type ChangeReport, type RefChange, type MirrorDiff, type CommitInfo, type ReflogEntry, type Signature, type FsModule, type HttpClient, emptyChangeReport, changeReportInSync, changeReportTotal, changeReportActions, mirrorDiffInSync, mirrorDiffTotal, } from './types.js';
34
+ export { resolveCredentials } from './mirror.js';
35
+ export { diskGlob } from './copy.js';
36
+ export { ExcludeFilter } from './exclude.js';
37
+ export { normalizePath, validateRefName } from './paths.js';
package/dist/index.js ADDED
@@ -0,0 +1,51 @@
1
+ /**
2
+ * vost — A versioned filesystem backed by a bare git repository.
3
+ *
4
+ * TypeScript port using isomorphic-git.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import * as fs from 'node:fs';
9
+ * import { GitStore } from 'vost';
10
+ *
11
+ * const store = await GitStore.open('/tmp/myrepo.git', { fs });
12
+ * const snapshot = await store.branches.get('main');
13
+ *
14
+ * // Read
15
+ * const text = await snapshot.readText('hello.txt');
16
+ *
17
+ * // Write (returns new immutable snapshot)
18
+ * const next = await snapshot.writeText('hello.txt', 'Hello, world!');
19
+ *
20
+ * // Batch writes
21
+ * const batch = next.batch();
22
+ * await batch.write('a.txt', new TextEncoder().encode('aaa'));
23
+ * await batch.write('b.txt', new TextEncoder().encode('bbb'));
24
+ * const result = await batch.commit();
25
+ * ```
26
+ */
27
+ // Core classes
28
+ export { GitStore } from './gitstore.js';
29
+ export { FS, retryWrite } from './fs.js';
30
+ export { Batch } from './batch.js';
31
+ export { FsWriter, BatchWriter } from './fileobj.js';
32
+ export { RefDict } from './refdict.js';
33
+ export { NoteDict, NoteNamespace, NotesBatch } from './notes.js';
34
+ // Types and data structures
35
+ export {
36
+ // File types & modes
37
+ FileType, fileTypeFromMode, fileModeFromType, MODE_BLOB, MODE_BLOB_EXEC, MODE_LINK, MODE_TREE,
38
+ // Errors
39
+ GitStoreError, StaleSnapshotError, FileNotFoundError, IsADirectoryError, NotADirectoryError, PermissionError, KeyNotFoundError, KeyExistsError, InvalidRefNameError, InvalidPathError, BatchClosedError,
40
+ // ChangeReport helpers
41
+ emptyChangeReport, changeReportInSync, changeReportTotal, changeReportActions,
42
+ // MirrorDiff helpers
43
+ mirrorDiffInSync, mirrorDiffTotal, } from './types.js';
44
+ // Mirror utilities
45
+ export { resolveCredentials } from './mirror.js';
46
+ // Copy operations (usable standalone)
47
+ export { diskGlob } from './copy.js';
48
+ export { ExcludeFilter } from './exclude.js';
49
+ // Path utilities
50
+ export { normalizePath, validateRefName } from './paths.js';
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjE,4BAA4B;AAC5B,OAAO;AACL,qBAAqB;AACrB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS;AAET,SAAS;AACT,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB;AAkBhB,uBAAuB;AACvB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB;AAEnB,qBAAqB;AACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
package/dist/lock.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Advisory repo lock for serializing ref mutations.
3
+ *
4
+ * Uses an atomic lockfile (`vost.lock`) for cross-process coordination
5
+ * and an in-process Promise-based mutex (JS is single-threaded, but
6
+ * async operations interleave).
7
+ */
8
+ import type { FsModule } from './types.js';
9
+ /**
10
+ * Execute `fn` while holding an advisory lock on the repository.
11
+ *
12
+ * Serializes both in-process async operations (via Promise chain) and
13
+ * cross-process access (via lockfile).
14
+ */
15
+ export declare function withRepoLock<T>(fsModule: FsModule, gitdir: string, fn: () => Promise<T>): Promise<T>;
package/dist/lock.js ADDED
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Advisory repo lock for serializing ref mutations.
3
+ *
4
+ * Uses an atomic lockfile (`vost.lock`) for cross-process coordination
5
+ * and an in-process Promise-based mutex (JS is single-threaded, but
6
+ * async operations interleave).
7
+ */
8
+ // Per-repo in-process async mutexes (keyed by resolved gitdir path)
9
+ const mutexes = new Map();
10
+ /**
11
+ * Execute `fn` while holding an advisory lock on the repository.
12
+ *
13
+ * Serializes both in-process async operations (via Promise chain) and
14
+ * cross-process access (via lockfile).
15
+ */
16
+ export async function withRepoLock(fsModule, gitdir, fn) {
17
+ // In-process serialization: chain on the per-repo promise
18
+ const prev = mutexes.get(gitdir) ?? Promise.resolve();
19
+ let releaseMutex;
20
+ const next = new Promise((resolve) => {
21
+ releaseMutex = resolve;
22
+ });
23
+ mutexes.set(gitdir, next);
24
+ // Wait for previous operation on this repo
25
+ await prev;
26
+ const lockPath = `${gitdir}/vost.lock`;
27
+ // Acquire lockfile (atomic create with exclusive flag)
28
+ let acquired = false;
29
+ const maxAttempts = 100;
30
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
31
+ try {
32
+ // O_CREAT | O_EXCL — fails if file already exists
33
+ const handle = await fsModule.promises.open(lockPath, 'wx');
34
+ await handle.close();
35
+ acquired = true;
36
+ break;
37
+ }
38
+ catch (err) {
39
+ if (err?.code === 'EEXIST') {
40
+ // Lock held by another process — wait and retry
41
+ await sleep(10 + Math.random() * 20);
42
+ continue;
43
+ }
44
+ // Other error (e.g. permission) — release mutex and rethrow
45
+ releaseMutex();
46
+ throw err;
47
+ }
48
+ }
49
+ if (!acquired) {
50
+ releaseMutex();
51
+ throw new Error(`Could not acquire lock after ${maxAttempts} attempts: ${lockPath}`);
52
+ }
53
+ try {
54
+ return await fn();
55
+ }
56
+ finally {
57
+ // Release lockfile
58
+ try {
59
+ await fsModule.promises.unlink(lockPath);
60
+ }
61
+ catch {
62
+ // Ignore — file may already be cleaned up
63
+ }
64
+ // Release in-process mutex
65
+ releaseMutex();
66
+ }
67
+ }
68
+ function sleep(ms) {
69
+ return new Promise((resolve) => setTimeout(resolve, ms));
70
+ }
71
+ //# sourceMappingURL=lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,oEAAoE;AACpE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAkB,EAClB,MAAc,EACd,EAAoB;IAEpB,0DAA0D;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACtD,IAAI,YAAwB,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1B,2CAA2C;IAC3C,MAAM,IAAI,CAAC;IAEX,MAAM,QAAQ,GAAG,GAAG,MAAM,YAAY,CAAC;IAEvC,uDAAuD;IACvD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,WAAW,GAAG,GAAG,CAAC;IACxB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5D,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM;QACR,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,gDAAgD;gBAChD,MAAM,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,4DAA4D;YAC5D,YAAa,EAAE,CAAC;YAChB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,YAAa,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,cAAc,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QACD,2BAA2B;QAC3B,YAAa,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Mirror (backup/restore) operations for vost.
3
+ *
4
+ * Uses isomorphic-git's push/fetch for HTTP transport.
5
+ * Each ref is pushed/fetched individually to achieve mirror semantics.
6
+ */
7
+ import type { MirrorDiff, HttpClient } from './types.js';
8
+ import type { GitStore } from './gitstore.js';
9
+ /**
10
+ * Inject credentials into an HTTPS URL if available.
11
+ *
12
+ * Tries `git credential fill` first (works with any configured helper:
13
+ * osxkeychain, wincred, libsecret, `gh auth setup-git`, etc.). Falls
14
+ * back to `gh auth token` for GitHub hosts. Non-HTTPS URLs and URLs
15
+ * that already contain credentials are returned unchanged.
16
+ *
17
+ * Requires Node.js — returns the original URL unchanged in browser
18
+ * environments where `child_process` is not available.
19
+ *
20
+ * @param url - The URL to resolve credentials for.
21
+ * @returns The URL with credentials injected, or the original URL.
22
+ */
23
+ export declare function resolveCredentials(url: string): Promise<string>;
24
+ /**
25
+ * Push all local refs to url, creating an exact mirror.
26
+ * Remote-only refs are deleted.
27
+ *
28
+ * @param store - The GitStore to backup from.
29
+ * @param url - Remote repository URL (HTTPS or local path).
30
+ * @param opts - Options: `http` client, `dryRun` to compute diff without pushing,
31
+ * and optional `onAuth` callback for credentials.
32
+ * @returns A {@link MirrorDiff} describing what changed (or would change).
33
+ */
34
+ export declare function backup(store: GitStore, url: string, opts: {
35
+ http: HttpClient;
36
+ dryRun?: boolean;
37
+ onAuth?: Function;
38
+ }): Promise<MirrorDiff>;
39
+ /**
40
+ * Fetch all remote refs from url, overwriting local state.
41
+ * Local-only refs are deleted.
42
+ *
43
+ * @param store - The GitStore to restore into.
44
+ * @param url - Remote repository URL (HTTPS or local path).
45
+ * @param opts - Options: `http` client, `dryRun` to compute diff without fetching,
46
+ * and optional `onAuth` callback for credentials.
47
+ * @returns A {@link MirrorDiff} describing what changed (or would change).
48
+ */
49
+ export declare function restore(store: GitStore, url: string, opts: {
50
+ http: HttpClient;
51
+ dryRun?: boolean;
52
+ onAuth?: Function;
53
+ }): Promise<MirrorDiff>;