@mhalle/vost 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -12
- package/dist/gitstore.d.ts +3 -3
- package/dist/gitstore.js +4 -3
- package/dist/gitstore.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,11 +15,10 @@ Requires Node.js 18+ or Deno.
|
|
|
15
15
|
## Quick start
|
|
16
16
|
|
|
17
17
|
```typescript
|
|
18
|
-
import * as fs from 'node:fs';
|
|
19
18
|
import { GitStore } from '@mhalle/vost';
|
|
20
19
|
|
|
21
20
|
// Create (or open) a repository with a "main" branch
|
|
22
|
-
const store = await GitStore.open('data.git'
|
|
21
|
+
const store = await GitStore.open('data.git');
|
|
23
22
|
|
|
24
23
|
// Get a snapshot of the current branch ("main" by default)
|
|
25
24
|
let snap = await store.branches.getCurrent();
|
|
@@ -52,17 +51,15 @@ Snapshots from **branches** are writable (`fs.writable === true`). Snapshots fro
|
|
|
52
51
|
### Opening a repository
|
|
53
52
|
|
|
54
53
|
```typescript
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const store = await GitStore.open('data.git', {
|
|
58
|
-
const store = await GitStore.open('data.git', {
|
|
59
|
-
const store = await GitStore.open('data.git', {
|
|
60
|
-
const store = await GitStore.open('data.git', { fs, branch: null }); // branchless
|
|
61
|
-
const store = await GitStore.open('data.git', { fs,
|
|
54
|
+
const store = await GitStore.open('data.git'); // create or open
|
|
55
|
+
const store = await GitStore.open('data.git', { create: false }); // open only
|
|
56
|
+
const store = await GitStore.open('data.git', { branch: 'dev' }); // custom default branch
|
|
57
|
+
const store = await GitStore.open('data.git', { branch: null }); // branchless
|
|
58
|
+
const store = await GitStore.open('data.git', {
|
|
62
59
|
author: 'alice', email: 'alice@example.com' }); // custom author
|
|
63
60
|
```
|
|
64
61
|
|
|
65
|
-
The `fs` option
|
|
62
|
+
The `fs` option defaults to Node's `node:fs` module. Override it to provide a custom filesystem implementation (e.g. `lightning-fs` for browsers).
|
|
66
63
|
|
|
67
64
|
### Branches and tags
|
|
68
65
|
|
|
@@ -339,10 +336,9 @@ All errors extend `GitStoreError`.
|
|
|
339
336
|
vost works under Deno using its Node.js compatibility layer:
|
|
340
337
|
|
|
341
338
|
```typescript
|
|
342
|
-
import * as fs from 'node:fs';
|
|
343
339
|
import { GitStore } from 'npm:@mhalle/vost';
|
|
344
340
|
|
|
345
|
-
const store = await GitStore.open('/tmp/repo.git'
|
|
341
|
+
const store = await GitStore.open('/tmp/repo.git');
|
|
346
342
|
```
|
|
347
343
|
|
|
348
344
|
## License
|
package/dist/gitstore.d.ts
CHANGED
|
@@ -26,14 +26,14 @@ export declare class GitStore {
|
|
|
26
26
|
* Open or create a bare git repository.
|
|
27
27
|
*
|
|
28
28
|
* @param path - Path to the bare repository directory.
|
|
29
|
-
* @param opts.fs - Node.js `fs`
|
|
29
|
+
* @param opts.fs - Filesystem module (default: Node.js `node:fs`). Override for custom implementations.
|
|
30
30
|
* @param opts.create - Create the repo if it doesn't exist (default: true).
|
|
31
31
|
* @param opts.branch - Initial branch when creating (default: "main"). Null for no branch.
|
|
32
32
|
* @param opts.author - Default author name (default: "vost").
|
|
33
33
|
* @param opts.email - Default author email (default: "vost@localhost").
|
|
34
34
|
*/
|
|
35
|
-
static open(path: string, opts
|
|
36
|
-
fs
|
|
35
|
+
static open(path: string, opts?: {
|
|
36
|
+
fs?: FsModule;
|
|
37
37
|
create?: boolean;
|
|
38
38
|
branch?: string | null;
|
|
39
39
|
author?: string;
|
package/dist/gitstore.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GitStore: versioned filesystem backed by a bare git repository.
|
|
3
3
|
*/
|
|
4
|
+
import * as nodeFs from 'node:fs';
|
|
4
5
|
import git from 'isomorphic-git';
|
|
5
6
|
import { RefDict } from './refdict.js';
|
|
6
7
|
import { NoteDict } from './notes.js';
|
|
@@ -35,14 +36,14 @@ export class GitStore {
|
|
|
35
36
|
* Open or create a bare git repository.
|
|
36
37
|
*
|
|
37
38
|
* @param path - Path to the bare repository directory.
|
|
38
|
-
* @param opts.fs - Node.js `fs`
|
|
39
|
+
* @param opts.fs - Filesystem module (default: Node.js `node:fs`). Override for custom implementations.
|
|
39
40
|
* @param opts.create - Create the repo if it doesn't exist (default: true).
|
|
40
41
|
* @param opts.branch - Initial branch when creating (default: "main"). Null for no branch.
|
|
41
42
|
* @param opts.author - Default author name (default: "vost").
|
|
42
43
|
* @param opts.email - Default author email (default: "vost@localhost").
|
|
43
44
|
*/
|
|
44
|
-
static async open(path, opts) {
|
|
45
|
-
const fsModule = opts.fs;
|
|
45
|
+
static async open(path, opts = {}) {
|
|
46
|
+
const fsModule = opts.fs ?? nodeFs;
|
|
46
47
|
const create = opts.create ?? true;
|
|
47
48
|
const branch = opts.branch !== undefined ? opts.branch : 'main';
|
|
48
49
|
const author = opts.author ?? 'vost';
|
package/dist/gitstore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitstore.js","sourceRoot":"","sources":["../src/gitstore.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,GAAG,MAAM,gBAAgB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,OAAO,QAAQ;IACnB,gBAAgB,CAAC,SAAS,CAAW;IACrC,gBAAgB,CAAC,OAAO,CAAS;IACjC,gBAAgB,CAAC,UAAU,CAAY;IAEvC,oCAAoC;IACpC,QAAQ,CAAU;IAClB,gCAAgC;IAChC,IAAI,CAAU;IACd,4BAA4B;IAC5B,KAAK,CAAW;IAEhB,YAAY,QAAkB,EAAE,MAAc,EAAE,MAAc,EAAE,KAAa;QAC3E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,QAAQ;QACN,OAAO,aAAa,IAAI,CAAC,OAAO,IAAI,CAAC;IACvC,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,IAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"gitstore.js","sourceRoot":"","sources":["../src/gitstore.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* ```ts
|
|
8
|
-
* import
|
|
9
|
-
* import { GitStore } from 'vost';
|
|
8
|
+
* import { GitStore } from '@mhalle/vost';
|
|
10
9
|
*
|
|
11
|
-
* const store = await GitStore.open('/tmp/myrepo.git'
|
|
10
|
+
* const store = await GitStore.open('/tmp/myrepo.git');
|
|
12
11
|
* const snapshot = await store.branches.get('main');
|
|
13
12
|
*
|
|
14
13
|
* // Read
|
package/dist/index.js
CHANGED
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* ```ts
|
|
8
|
-
* import
|
|
9
|
-
* import { GitStore } from 'vost';
|
|
8
|
+
* import { GitStore } from '@mhalle/vost';
|
|
10
9
|
*
|
|
11
|
-
* const store = await GitStore.open('/tmp/myrepo.git'
|
|
10
|
+
* const store = await GitStore.open('/tmp/myrepo.git');
|
|
12
11
|
* const snapshot = await store.branches.get('main');
|
|
13
12
|
*
|
|
14
13
|
* // Read
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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"}
|