@automerge/vanillajs 2.0.0-beta.2
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 +66 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/package.json +52 -0
- package/src/index.ts +6 -0
- package/tsconfig.json +18 -0
package/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# @automerge/vanillajs
|
|
2
|
+
|
|
3
|
+
A minimal vanilla JavaScript package for Automerge Repo that provides direct access to core types and adapters.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @automerge/vanillajs
|
|
9
|
+
# or
|
|
10
|
+
yarn add @automerge/vanillajs
|
|
11
|
+
# or
|
|
12
|
+
pnpm add @automerge/vanillajs
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```javascript
|
|
18
|
+
import {
|
|
19
|
+
Repo,
|
|
20
|
+
MessageChannelNetworkAdapter,
|
|
21
|
+
IndexedDBStorageAdapter,
|
|
22
|
+
WebSocketClientAdapter,
|
|
23
|
+
} from "@automerge/vanillajs"
|
|
24
|
+
|
|
25
|
+
// Create a repo with your chosen adapters
|
|
26
|
+
const repo = new Repo({
|
|
27
|
+
network: [
|
|
28
|
+
new MessageChannelNetworkAdapter(/* your message channel to another repo here */),
|
|
29
|
+
new IndexedDBStorageAdapter(),
|
|
30
|
+
new WebSocketClientAdapter("wss://sync.automerge.org"),
|
|
31
|
+
],
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
// Create a new document
|
|
35
|
+
const handle = repo.create()
|
|
36
|
+
|
|
37
|
+
// Load an existing document
|
|
38
|
+
const existingHandle = repo.find(documentId)
|
|
39
|
+
|
|
40
|
+
// Listen for changes
|
|
41
|
+
handle.on("change", () => {
|
|
42
|
+
console.log("Document changed:", handle.docSync())
|
|
43
|
+
})
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Available Exports
|
|
47
|
+
|
|
48
|
+
### Core
|
|
49
|
+
|
|
50
|
+
- `Repo` - The main repository class
|
|
51
|
+
- `DocHandle` - Document handle type
|
|
52
|
+
- `DocumentId` - Document ID type
|
|
53
|
+
|
|
54
|
+
### Network Adapters
|
|
55
|
+
|
|
56
|
+
- `MessageChannelNetworkAdapter` - For communication between browser tabs
|
|
57
|
+
- `BroadcastChannelNetworkAdapter` - For communication between browser contexts
|
|
58
|
+
- `WebSocketClientAdapter` - For client-side WebSocket connections
|
|
59
|
+
|
|
60
|
+
### Storage Adapters
|
|
61
|
+
|
|
62
|
+
- `IndexedDBStorageAdapter` - For browser storage
|
|
63
|
+
|
|
64
|
+
## License
|
|
65
|
+
|
|
66
|
+
MIT
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "@automerge/automerge-repo/slim";
|
|
2
|
+
export { MessageChannelNetworkAdapter } from "@automerge/automerge-repo-network-messagechannel";
|
|
3
|
+
export { BroadcastChannelNetworkAdapter } from "@automerge/automerge-repo-network-broadcastchannel";
|
|
4
|
+
export { WebSocketClientAdapter } from "@automerge/automerge-repo-network-websocket";
|
|
5
|
+
export { IndexedDBStorageAdapter } from "@automerge/automerge-repo-storage-indexeddb";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAE9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAA;AAC/F,OAAO,EAAE,8BAA8B,EAAE,MAAM,oDAAoD,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAA;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from "@automerge/automerge-repo/slim";
|
|
2
|
+
export { MessageChannelNetworkAdapter } from "@automerge/automerge-repo-network-messagechannel";
|
|
3
|
+
export { BroadcastChannelNetworkAdapter } from "@automerge/automerge-repo-network-broadcastchannel";
|
|
4
|
+
export { WebSocketClientAdapter } from "@automerge/automerge-repo-network-websocket";
|
|
5
|
+
export { IndexedDBStorageAdapter } from "@automerge/automerge-repo-storage-indexeddb";
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@automerge/vanillajs",
|
|
3
|
+
"version": "2.0.0-beta.2",
|
|
4
|
+
"description": "A quick-import vanilla JS package for Automerge Repo",
|
|
5
|
+
"repository": "https://github.com/automerge/automerge-repo/tree/master/packages/automerge-vanillajs",
|
|
6
|
+
"author": "Peter van Hardenberg <pvh@pvh.ca>",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "dist/index.js",
|
|
10
|
+
"types": "dist/index.d.ts",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc",
|
|
13
|
+
"watch": "npm-watch build",
|
|
14
|
+
"test": "vitest",
|
|
15
|
+
"test:watch": "npm-watch test"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@automerge/automerge-repo": "workspace:*",
|
|
19
|
+
"@automerge/automerge-repo-network-broadcastchannel": "workspace:*",
|
|
20
|
+
"@automerge/automerge-repo-network-messagechannel": "workspace:*",
|
|
21
|
+
"@automerge/automerge-repo-network-websocket": "workspace:*",
|
|
22
|
+
"@automerge/automerge-repo-storage-indexeddb": "workspace:*"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"typescript": "^5.0.0",
|
|
26
|
+
"vitest": "^1.0.0"
|
|
27
|
+
},
|
|
28
|
+
"exports": {
|
|
29
|
+
".": "./dist/index.js"
|
|
30
|
+
},
|
|
31
|
+
"watch": {
|
|
32
|
+
"build": {
|
|
33
|
+
"patterns": "./src/**/*",
|
|
34
|
+
"extensions": [
|
|
35
|
+
".ts"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"test": {
|
|
39
|
+
"quiet": true,
|
|
40
|
+
"patterns": [
|
|
41
|
+
"./src/**/*",
|
|
42
|
+
"./test/**/*"
|
|
43
|
+
],
|
|
44
|
+
"extensions": [
|
|
45
|
+
".ts"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public"
|
|
51
|
+
}
|
|
52
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "@automerge/automerge-repo/slim"
|
|
2
|
+
|
|
3
|
+
export { MessageChannelNetworkAdapter } from "@automerge/automerge-repo-network-messagechannel"
|
|
4
|
+
export { BroadcastChannelNetworkAdapter } from "@automerge/automerge-repo-network-broadcastchannel"
|
|
5
|
+
export { WebSocketClientAdapter } from "@automerge/automerge-repo-network-websocket"
|
|
6
|
+
export { IndexedDBStorageAdapter } from "@automerge/automerge-repo-storage-indexeddb"
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ESNext",
|
|
4
|
+
"jsx": "react",
|
|
5
|
+
"module": "NodeNext",
|
|
6
|
+
"moduleResolution": "nodenext",
|
|
7
|
+
"declaration": true,
|
|
8
|
+
"declarationMap": true,
|
|
9
|
+
"outDir": "./dist",
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"forceConsistentCasingInFileNames": true,
|
|
12
|
+
"strict": true,
|
|
13
|
+
"strictNullChecks": true,
|
|
14
|
+
"skipLibCheck": true
|
|
15
|
+
},
|
|
16
|
+
"include": ["src/**/*.ts"],
|
|
17
|
+
"exclude": ["dist"]
|
|
18
|
+
}
|