Compare commits

..

2 Commits

Author SHA1 Message Date
Benjamin S. Leveritt
28fea37446 Fix comment block for rendering with TypeDoc 2024-11-21 20:23:24 +00:00
Benjamin S. Leveritt
61915fe3ed Split doc-generation scripts into separate commands
Easier to run individually
2024-11-21 20:23:24 +00:00
78 changed files with 272 additions and 1288 deletions

View File

@@ -1,34 +1,5 @@
# @jazz-e2e/binarycostream
## 0.0.108
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- jazz-react@0.8.31
- jazz-tools@0.8.31
## 0.0.107
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- jazz-react@0.8.30
- jazz-tools@0.8.30
## 0.0.106
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
- jazz-react@0.8.29
- jazz-tools@0.8.29
## 0.0.105
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "@jazz-e2e/filestream",
"private": true,
"version": "0.0.108",
"version": "0.0.105",
"type": "module",
"scripts": {
"dev": "vite",
@@ -13,11 +13,11 @@
"test:ui": "playwright test --ui"
},
"dependencies": {
"cojson": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"hash-slash": "workspace:0.2.1",
"is-ci": "^3.0.1",
"jazz-react": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-react": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},

View File

@@ -1,34 +1,5 @@
# @jazz-e2e/covalues
## 0.0.107
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- jazz-react@0.8.31
- jazz-tools@0.8.31
## 0.0.106
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- jazz-react@0.8.30
- jazz-tools@0.8.30
## 0.0.105
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
- jazz-react@0.8.29
- jazz-tools@0.8.29
## 0.0.104
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "@jazz-e2e/covalues",
"private": true,
"version": "0.0.107",
"version": "0.0.104",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,29 +1,5 @@
# jazz-example-book-shelf
## 0.1.23
### Patch Changes
- jazz-react@0.8.31
- jazz-tools@0.8.31
- jazz-browser-media-images@0.8.31
## 0.1.22
### Patch Changes
- jazz-react@0.8.30
- jazz-tools@0.8.30
- jazz-browser-media-images@0.8.30
## 0.1.21
### Patch Changes
- jazz-react@0.8.29
- jazz-tools@0.8.29
- jazz-browser-media-images@0.8.29
## 0.1.20
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-example-book-shelf",
"version": "0.1.23",
"version": "0.1.20",
"private": true,
"scripts": {
"dev": "next dev",
@@ -11,9 +11,9 @@
},
"dependencies": {
"clsx": "^2.0.0",
"jazz-browser-media-images": "workspace:0.8.31",
"jazz-react": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-browser-media-images": "workspace:0.8.28",
"jazz-react": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"next": "14.2.5",
"react": "^18.2.0",
"react-dom": "^18.2.0"

View File

@@ -1,37 +1,5 @@
# jazz-example-chat
## 0.0.107
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- jazz-react@0.8.31
- jazz-react-auth-clerk@0.8.31
- jazz-tools@0.8.31
## 0.0.106
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- jazz-react@0.8.30
- jazz-react-auth-clerk@0.8.30
- jazz-tools@0.8.30
## 0.0.105
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
- jazz-react@0.8.29
- jazz-react-auth-clerk@0.8.29
- jazz-tools@0.8.29
## 0.0.104
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-chat-clerk",
"private": true,
"version": "0.0.107",
"version": "0.0.104",
"type": "module",
"scripts": {
"dev": "vite",
@@ -17,11 +17,11 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"cojson": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"hash-slash": "workspace:0.2.1",
"jazz-react": "workspace:0.8.31",
"jazz-react-auth-clerk": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-react": "workspace:0.8.28",
"jazz-react-auth-clerk": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.2.0",

View File

@@ -1,32 +1,5 @@
# chat-rn-clerk
## 1.0.23
### Patch Changes
- jazz-react-auth-clerk@0.8.31
- jazz-react-native@0.8.31
- jazz-tools@0.8.31
- jazz-react-native-media-images@0.8.23
## 1.0.22
### Patch Changes
- jazz-react-auth-clerk@0.8.30
- jazz-react-native@0.8.30
- jazz-tools@0.8.30
- jazz-react-native-media-images@0.8.22
## 1.0.21
### Patch Changes
- jazz-react-native@0.8.29
- jazz-react-auth-clerk@0.8.29
- jazz-tools@0.8.29
- jazz-react-native-media-images@0.8.21
## 1.0.20
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "chat-rn-clerk",
"main": "index.js",
"version": "1.0.23",
"version": "1.0.20",
"scripts": {
"build": "expo export -p ios",
"start": "expo start",

View File

@@ -1,26 +1,5 @@
# chat-rn
## 1.0.22
### Patch Changes
- jazz-react-native@0.8.31
- jazz-tools@0.8.31
## 1.0.21
### Patch Changes
- jazz-react-native@0.8.30
- jazz-tools@0.8.30
## 1.0.20
### Patch Changes
- jazz-react-native@0.8.29
- jazz-tools@0.8.29
## 1.0.19
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "chat-rn",
"version": "1.0.22",
"version": "1.0.19",
"main": "index.js",
"scripts": {
"build": "expo export -p ios",

View File

@@ -1,29 +1,5 @@
# chat-vue
## 0.0.14
### Patch Changes
- jazz-browser@0.8.31
- jazz-tools@0.8.31
- jazz-vue@0.8.19
## 0.0.13
### Patch Changes
- jazz-browser@0.8.30
- jazz-tools@0.8.30
- jazz-vue@0.8.18
## 0.0.12
### Patch Changes
- jazz-browser@0.8.29
- jazz-tools@0.8.29
- jazz-vue@0.8.17
## 0.0.11
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "chat-vue",
"version": "0.0.14",
"version": "0.0.11",
"private": true,
"type": "module",
"scripts": {

View File

@@ -1,34 +1,5 @@
# jazz-example-chat
## 0.0.109
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- jazz-react@0.8.31
- jazz-tools@0.8.31
## 0.0.108
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- jazz-react@0.8.30
- jazz-tools@0.8.30
## 0.0.107
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
- jazz-react@0.8.29
- jazz-tools@0.8.29
## 0.0.106
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-chat",
"private": true,
"version": "0.0.109",
"version": "0.0.106",
"type": "module",
"scripts": {
"dev": "vite",
@@ -18,10 +18,10 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"cojson": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"hash-slash": "workspace:0.2.1",
"jazz-react": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-react": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.2.0",

View File

@@ -1,31 +1,5 @@
# jazz-example-inspector
## 0.0.79
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- cojson-transport-ws@0.8.31
## 0.0.78
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- cojson-transport-ws@0.8.30
## 0.0.77
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson-transport-ws@0.8.29
- cojson@0.8.29
## 0.0.76
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-inspector",
"private": true,
"version": "0.0.79",
"version": "0.0.76",
"type": "module",
"scripts": {
"dev": "vite",
@@ -16,8 +16,8 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"cojson": "workspace:0.8.31",
"cojson-transport-ws": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"cojson-transport-ws": "workspace:0.8.28",
"hash-slash": "workspace:0.2.1",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",

View File

@@ -1,29 +1,5 @@
# minimal-auth-clerk
## 0.0.8
### Patch Changes
- jazz-react@0.8.31
- jazz-react-auth-clerk@0.8.31
- jazz-tools@0.8.31
## 0.0.7
### Patch Changes
- jazz-react@0.8.30
- jazz-react-auth-clerk@0.8.30
- jazz-tools@0.8.30
## 0.0.6
### Patch Changes
- jazz-react@0.8.29
- jazz-react-auth-clerk@0.8.29
- jazz-tools@0.8.29
## 0.0.5
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "minimal-auth-clerk",
"private": true,
"version": "0.0.8",
"version": "0.0.5",
"type": "module",
"scripts": {
"dev": "vite",
@@ -14,7 +14,7 @@
"@clerk/clerk-react": "^5.4.1",
"jazz-tools": "workspace:*",
"jazz-react": "workspace:*",
"jazz-react-auth-clerk": "workspace:0.8.31",
"jazz-react-auth-clerk": "workspace:0.8.28",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},

View File

@@ -1,26 +1,5 @@
# minimal-auth-passkey
## 0.0.7
### Patch Changes
- jazz-react@0.8.31
- jazz-tools@0.8.31
## 0.0.6
### Patch Changes
- jazz-react@0.8.30
- jazz-tools@0.8.30
## 0.0.5
### Patch Changes
- jazz-react@0.8.29
- jazz-tools@0.8.29
## 0.0.4
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "minimal-auth-passkey",
"private": true,
"version": "0.0.7",
"version": "0.0.4",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,26 +1,5 @@
# jazz-example-musicplayer
## 0.0.29
### Patch Changes
- jazz-react@0.8.31
- jazz-tools@0.8.31
## 0.0.28
### Patch Changes
- jazz-react@0.8.30
- jazz-tools@0.8.30
## 0.0.27
### Patch Changes
- jazz-react@0.8.29
- jazz-tools@0.8.29
## 0.0.26
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-music-player",
"private": true,
"version": "0.0.29",
"version": "0.0.26",
"type": "module",
"scripts": {
"dev": "vite",
@@ -18,8 +18,8 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"jazz-react": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-react": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"lucide-react": "^0.274.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",

View File

@@ -1,29 +1,5 @@
# jazz-example-onboarding
## 0.0.10
### Patch Changes
- jazz-react@0.8.31
- jazz-tools@0.8.31
- jazz-browser-media-images@0.8.31
## 0.0.9
### Patch Changes
- jazz-react@0.8.30
- jazz-tools@0.8.30
- jazz-browser-media-images@0.8.30
## 0.0.8
### Patch Changes
- jazz-react@0.8.29
- jazz-tools@0.8.29
- jazz-browser-media-images@0.8.29
## 0.0.7
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-onboarding",
"private": true,
"version": "0.0.10",
"version": "0.0.7",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,26 +1,5 @@
# jazz-password-manager
## 0.0.28
### Patch Changes
- jazz-react@0.8.31
- jazz-tools@0.8.31
## 0.0.27
### Patch Changes
- jazz-react@0.8.30
- jazz-tools@0.8.30
## 0.0.26
### Patch Changes
- jazz-react@0.8.29
- jazz-tools@0.8.29
## 0.0.25
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-password-manager",
"private": true,
"version": "0.0.28",
"version": "0.0.25",
"type": "module",
"scripts": {
"dev": "vite",
@@ -12,8 +12,8 @@
"clean-install": "rm -rf node_modules pnpm-lock.yaml && pnpm install"
},
"dependencies": {
"jazz-react": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-react": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.41.5",

View File

@@ -1,29 +1,5 @@
# jazz-example-pets
## 0.0.126
### Patch Changes
- jazz-react@0.8.31
- jazz-tools@0.8.31
- jazz-browser-media-images@0.8.31
## 0.0.125
### Patch Changes
- jazz-react@0.8.30
- jazz-tools@0.8.30
- jazz-browser-media-images@0.8.30
## 0.0.124
### Patch Changes
- jazz-react@0.8.29
- jazz-tools@0.8.29
- jazz-browser-media-images@0.8.29
## 0.0.123
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-pets",
"private": true,
"version": "0.0.126",
"version": "0.0.123",
"type": "module",
"scripts": {
"dev": "vite",
@@ -19,9 +19,9 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"jazz-browser-media-images": "workspace:0.8.31",
"jazz-react": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-browser-media-images": "workspace:0.8.28",
"jazz-react": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.2.0",
@@ -41,7 +41,7 @@
"@vitejs/plugin-react-swc": "^3.3.2",
"autoprefixer": "^10.4.14",
"is-ci": "^3.0.1",
"jazz-run": "workspace:0.8.31",
"jazz-run": "workspace:0.8.28",
"postcss": "^8.4.27",
"tailwindcss": "3.3.2",
"typescript": "^5.3.3",

View File

@@ -1,29 +1,5 @@
# todo-vue
## 0.0.12
### Patch Changes
- jazz-browser@0.8.31
- jazz-tools@0.8.31
- jazz-vue@0.8.19
## 0.0.11
### Patch Changes
- jazz-browser@0.8.30
- jazz-tools@0.8.30
- jazz-vue@0.8.18
## 0.0.10
### Patch Changes
- jazz-browser@0.8.29
- jazz-tools@0.8.29
- jazz-vue@0.8.17
## 0.0.9
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "todo-vue",
"version": "0.0.12",
"version": "0.0.9",
"private": true,
"type": "module",
"scripts": {

View File

@@ -1,26 +1,5 @@
# jazz-example-todo
## 0.0.125
### Patch Changes
- jazz-react@0.8.31
- jazz-tools@0.8.31
## 0.0.124
### Patch Changes
- jazz-react@0.8.30
- jazz-tools@0.8.30
## 0.0.123
### Patch Changes
- jazz-react@0.8.29
- jazz-tools@0.8.29
## 0.0.122
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-todo",
"private": true,
"version": "0.0.125",
"version": "0.0.122",
"type": "module",
"scripts": {
"dev": "vite",
@@ -16,8 +16,8 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"jazz-react": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-react": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.2.0",

View File

@@ -5,7 +5,8 @@
"type": "module",
"scripts": {
"dev": "NODE_OPTIONS=--max-old-space-size=8192 next dev",
"build": "node genDocs.mjs --build && next build",
"build:generate-docs": "node genDocs.mjs --build",
"build": "pnpm run build:generate-docs && next build",
"start": "next start",
"format-and-lint": "biome check .",
"format-and-lint:fix": "biome check . --write"

View File

@@ -1,28 +1,5 @@
# cojson-storage-indexeddb
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,12 +1,12 @@
{
"name": "cojson-storage-indexeddb",
"version": "0.8.31",
"version": "0.8.28",
"main": "dist/index.js",
"type": "module",
"types": "src/index.ts",
"license": "MIT",
"dependencies": {
"cojson": "workspace:0.8.31"
"cojson": "workspace:0.8.28"
},
"devDependencies": {
"@vitest/browser": "^0.34.1",

View File

@@ -1,28 +1,5 @@
# cojson-storage-sqlite
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,13 +1,13 @@
{
"name": "cojson-storage-sqlite",
"type": "module",
"version": "0.8.31",
"version": "0.8.28",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",
"dependencies": {
"better-sqlite3": "^8.5.2",
"cojson": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"typescript": "^5.3.3"
},
"devDependencies": {

View File

@@ -1,29 +1,5 @@
# cojson-transport-nodejs-ws
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
## 0.8.29
### Patch Changes
- dcc9c2e: Clear out the queues when closing a Peer
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,12 +1,12 @@
{
"name": "cojson-transport-ws",
"type": "module",
"version": "0.8.31",
"version": "0.8.28",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",
"dependencies": {
"cojson": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"typescript": "^5.3.3"
},
"scripts": {

View File

@@ -59,7 +59,6 @@ function createOutgoingMessagesManager(
websocket: AnyWebSocket,
batchingByDefault: boolean,
) {
let closed = false;
const outgoingMessages = new BatchedOutgoingMessages((messages) => {
if (websocket.readyState === 1) {
websocket.send(messages);
@@ -69,10 +68,6 @@ function createOutgoingMessagesManager(
let batchingEnabled = batchingByDefault;
async function sendMessage(msg: SyncMessage) {
if (closed) {
return Promise.reject(new Error("WebSocket closed"));
}
if (websocket.readyState !== 1) {
await waitForWebSocketOpen(websocket);
}
@@ -103,7 +98,6 @@ function createOutgoingMessagesManager(
batchingEnabled = enabled;
},
close() {
closed = true;
outgoingMessages.close();
},
};

View File

@@ -153,23 +153,6 @@ describe("createWebSocketPeer", () => {
expect(mockWebSocket.close).toHaveBeenCalled();
});
test("should return a rejection if a message is sent after the peer is closed", async () => {
const { peer } = setup();
peer.outgoing.close();
const message: SyncMessage = {
action: "known",
id: "co_ztest",
header: false,
sessions: {},
};
await expect(peer.outgoing.push(message)).rejects.toThrow(
"WebSocket closed",
);
});
describe("batchingByDefault = true", () => {
test("should batch outgoing messages", async () => {
const { peer, mockWebSocket } = setup();

View File

@@ -1,25 +1,5 @@
# cojson
## 0.8.31
### Patch Changes
- e511d6d: Performance: make the isUploaded check on the SyncStateManager lazy
## 0.8.30
### Patch Changes
- 0a2fae3: More optimised way to get knownState
- 99cda2f: Reduce noise on peer close and increase the load timeout
## 0.8.29
### Patch Changes
- dcc9c2e: Clear out the queues when closing a Peer
- 699553f: Restore offline support and improve loading perfromance when values are cached
## 0.8.28
### Patch Changes

View File

@@ -19,7 +19,7 @@
},
"type": "module",
"license": "MIT",
"version": "0.8.31",
"version": "0.8.28",
"devDependencies": {
"@types/jest": "^29.5.3",
"typescript": "^5.3.3",

View File

@@ -97,10 +97,6 @@ export class PeerState {
}
pushOutgoingMessage(msg: SyncMessage) {
if (this.closed) {
return Promise.resolve();
}
const promise = this.queue.push(msg);
void this.processQueue();
@@ -118,17 +114,8 @@ export class PeerState {
return this.peer.incoming;
}
private closeQueue() {
let entry: QueueEntry | undefined;
while ((entry = this.queue.pull())) {
// Using resolve here to avoid unnecessary noise in the logs
entry.resolve();
}
}
gracefulShutdown() {
console.debug("Gracefully closing", this.id);
this.closeQueue();
this.peer.outgoing.close();
this.closed = true;
}

View File

@@ -6,27 +6,29 @@ import {
emptyKnownState,
} from "./sync.js";
export type GlobalSyncStateListenerCallback = (
peerId: PeerID,
knownState: CoValueKnownState,
getIsUploadCompleted: () => boolean,
) => void;
export type PeerSyncStateListenerCallback = (
knownState: CoValueKnownState,
getIsUploadCompleted: () => boolean,
) => void;
export class SyncStateSubscriptionManager {
constructor(private syncManager: SyncManager) {}
private listeners = new Set<GlobalSyncStateListenerCallback>();
private listenersByPeers = new Map<
PeerID,
Set<PeerSyncStateListenerCallback>
private listeners = new Set<
(
peerId: PeerID,
knownState: CoValueKnownState,
uploadCompleted: boolean,
) => void
>();
subscribeToUpdates(listener: GlobalSyncStateListenerCallback) {
private listenersByPeers = new Map<
PeerID,
Set<(knownState: CoValueKnownState, uploadCompleted: boolean) => void>
>();
subscribeToUpdates(
listener: (
peerId: PeerID,
knownState: CoValueKnownState,
uploadCompleted: boolean,
) => void,
) {
this.listeners.add(listener);
return () => {
@@ -36,7 +38,7 @@ export class SyncStateSubscriptionManager {
subscribeToPeerUpdates(
peerId: PeerID,
listener: PeerSyncStateListenerCallback,
listener: (knownState: CoValueKnownState, uploadCompleted: boolean) => void,
) {
const listeners = this.listenersByPeers.get(peerId) ?? new Set();
@@ -66,18 +68,19 @@ export class SyncStateSubscriptionManager {
}
const knownState = peer.knownStates.get(id) ?? emptyKnownState(id);
const getIsCoValueFullyUploadedIntoPeer = simpleMemoize(() =>
this.getIsCoValueFullyUploadedIntoPeer(peerId, id),
const fullyUploadedIntoPeer = this.getIsCoValueFullyUploadedIntoPeer(
peerId,
id,
);
for (const listener of this.listeners) {
listener(peerId, knownState, getIsCoValueFullyUploadedIntoPeer);
listener(peerId, knownState, fullyUploadedIntoPeer);
}
if (!peerListeners) return;
for (const listener of peerListeners) {
listener(knownState, getIsCoValueFullyUploadedIntoPeer);
listener(knownState, fullyUploadedIntoPeer);
}
}
@@ -119,8 +122,3 @@ function getIsUploadCompleted(
return true;
}
function simpleMemoize<T>(fn: () => T): () => T {
let value: T | undefined;
return () => value ?? (value = fn());
}

View File

@@ -155,16 +155,15 @@ export class CoValueCore {
/** @internal */
knownStateUncached(): CoValueKnownState {
const sessions: CoValueKnownState["sessions"] = {};
for (const [sessionID, sessionLog] of this.sessionLogs.entries()) {
sessions[sessionID] = sessionLog.transactions.length;
}
return {
id: this.id,
header: true,
sessions
sessions: Object.fromEntries(
[...this.sessionLogs.entries()].map(([k, v]) => [
k,
v.transactions.length,
]),
),
};
}

View File

@@ -4,7 +4,6 @@ import { RawCoID } from "./ids.js";
import { PeerID } from "./sync.js";
export const CO_VALUE_LOADING_MAX_RETRIES = 5;
export const CO_VALUE_LOADING_TIMEOUT = 30_000;
export class CoValueUnknownState {
type = "unknown" as const;
@@ -265,53 +264,22 @@ async function loadCoValueFromPeers(
peers: PeerState[],
) {
for (const peer of peers) {
if (peer.closed) {
continue;
}
if (coValueEntry.state.type === "available") {
/**
* We don't need to wait for the message to be delivered here.
*
* This way when the coValue becomes available because it's cached we don't wait for the server
* peer to consume the messages queue before moving forward.
*/
peer
.pushOutgoingMessage({
action: "load",
...coValueEntry.state.coValue.knownState(),
})
.catch((err) => {
console.error(`Failed to push load message to peer ${peer.id}`, err);
});
await peer.pushOutgoingMessage({
action: "load",
...coValueEntry.state.coValue.knownState(),
});
} else {
/**
* We only wait for the load state to be resolved.
*/
peer
.pushOutgoingMessage({
action: "load",
id: coValueEntry.id,
header: false,
sessions: {},
})
.catch((err) => {
console.error(`Failed to push load message to peer ${peer.id}`, err);
});
await peer.pushOutgoingMessage({
action: "load",
id: coValueEntry.id,
header: false,
sessions: {},
});
}
if (coValueEntry.state.type === "loading") {
const timeout = setTimeout(() => {
if (coValueEntry.state.type === "loading") {
console.error("Failed to load coValue from peer", peer.id);
coValueEntry.dispatch({
type: "not-found-in-peer",
peerId: peer.id,
});
}
}, CO_VALUE_LOADING_TIMEOUT);
await coValueEntry.state.waitForPeer(peer.id);
clearTimeout(timeout);
}
}
}

View File

@@ -451,17 +451,12 @@ export class SyncManager {
dependencyEntry.state.type === "available" ||
dependencyEntry.state.type === "loading"
) {
this.local
.loadCoValueCore(
msg.id,
peer.role === "storage" ? undefined : peer.id,
)
.catch((e) => {
console.error(
`Error loading coValue ${msg.id} to create loading state, as dependency of ${msg.asDependencyOf}`,
e,
);
});
this.local.loadCoValueCore(msg.id, peer.id).catch((e) => {
console.error(
`Error loading coValue ${msg.id} to create loading state, as dependency of ${msg.asDependencyOf}`,
e,
);
});
} else {
throw new Error(
"Expected coValue dependency entry to be created, missing subscribe?",
@@ -718,8 +713,8 @@ export class SyncManager {
const unsubscribe =
this.syncStateSubscriptionManager.subscribeToPeerUpdates(
peerId,
(knownState, getIsUploadCompleted) => {
if (getIsUploadCompleted() && knownState.id === id) {
(knownState, uploadCompleted) => {
if (uploadCompleted && knownState.id === id) {
resolve(true);
unsubscribe?.();
}

View File

@@ -57,36 +57,6 @@ describe("PeerState", () => {
consoleSpy.mockRestore();
});
test("should empty the queue when closing", async () => {
const { mockPeer, peerState } = setup();
mockPeer.outgoing.push = vi.fn().mockImplementation((message) => {
return new Promise<void>((resolve) => {
setTimeout(resolve, 100);
});
});
const message1 = peerState.pushOutgoingMessage({
action: "content",
id: "co_z1",
new: {},
priority: CO_VALUE_PRIORITY.HIGH,
});
const message2 = peerState.pushOutgoingMessage({
action: "content",
id: "co_z1",
new: {},
priority: CO_VALUE_PRIORITY.HIGH,
});
peerState.gracefulShutdown();
await Promise.allSettled([message1, message2]);
await expect(message1).resolves.toBe(undefined);
await expect(message2).resolves.toBe(undefined);
});
test("should schedule outgoing messages based on their priority", async () => {
const { peerState } = setup();

View File

@@ -1,8 +1,4 @@
import { describe, expect, onTestFinished, test, vi } from "vitest";
import {
GlobalSyncStateListenerCallback,
PeerSyncStateListenerCallback,
} from "../SyncStateSubscriptionManager.js";
import { connectedPeers } from "../streamUtils.js";
import { emptyKnownState } from "../sync.js";
import { createTestNode, waitFor } from "./testUtils.js";
@@ -33,9 +29,7 @@ describe("SyncStateSubscriptionManager", () => {
const subscriptionManager = client.syncManager.syncStateSubscriptionManager;
const updateSpy: GlobalSyncStateListenerCallback = vi
.fn()
.mockImplementation((_, __, isUploaded) => isUploaded());
const updateSpy = vi.fn();
const unsubscribe = subscriptionManager.subscribeToUpdates(updateSpy);
await client.syncManager.actuallySyncCoValue(map.core);
@@ -43,9 +37,8 @@ describe("SyncStateSubscriptionManager", () => {
expect(updateSpy).toHaveBeenCalledWith(
"jazzCloudConnection",
emptyKnownState(map.core.id),
expect.any(Function),
false,
);
expect(updateSpy).toHaveLastReturnedWith(false);
await waitFor(() => {
return subscriptionManager.getIsCoValueFullyUploadedIntoPeer(
@@ -59,9 +52,8 @@ describe("SyncStateSubscriptionManager", () => {
client.syncManager.peers["jazzCloudConnection"]!.knownStates.get(
map.core.id,
)!,
expect.any(Function),
true,
);
expect(updateSpy).toHaveLastReturnedWith(true);
// Cleanup
unsubscribe();
@@ -98,12 +90,8 @@ describe("SyncStateSubscriptionManager", () => {
const subscriptionManager = client.syncManager.syncStateSubscriptionManager;
const updateToJazzCloudSpy: PeerSyncStateListenerCallback = vi
.fn()
.mockImplementation((_, isUploaded) => isUploaded());
const updateToStorageSpy: PeerSyncStateListenerCallback = vi
.fn()
.mockImplementation((_, isUploaded) => isUploaded());
const updateToJazzCloudSpy = vi.fn();
const updateToStorageSpy = vi.fn();
const unsubscribe1 = subscriptionManager.subscribeToPeerUpdates(
"jazzCloudConnection",
updateToJazzCloudSpy,
@@ -122,9 +110,8 @@ describe("SyncStateSubscriptionManager", () => {
expect(updateToJazzCloudSpy).toHaveBeenCalledWith(
emptyKnownState(map.core.id),
expect.any(Function),
false,
);
expect(updateToJazzCloudSpy).toHaveLastReturnedWith(false);
await waitFor(() => {
return subscriptionManager.getIsCoValueFullyUploadedIntoPeer(
@@ -137,15 +124,13 @@ describe("SyncStateSubscriptionManager", () => {
client.syncManager.peers["jazzCloudConnection"]!.knownStates.get(
map.core.id,
)!,
expect.any(Function),
true,
);
expect(updateToJazzCloudSpy).toHaveLastReturnedWith(true);
expect(updateToStorageSpy).toHaveBeenLastCalledWith(
emptyKnownState(map.core.id),
expect.any(Function),
false,
);
expect(updateToStorageSpy).toHaveLastReturnedWith(false);
});
test("getIsCoValueFullyUploadedIntoPeer returns correct status", async () => {

View File

@@ -388,79 +388,6 @@ describe("CoValueState", () => {
vi.useRealTimers();
});
test("should skip closed peers", async () => {
vi.useFakeTimers();
const mockCoValue = createMockCoValueCore(mockCoValueId);
const peer1 = createMockPeerState(
{
id: "peer1",
role: "storage",
},
async () => {
return new Promise(() => {});
},
);
const peer2 = createMockPeerState(
{
id: "peer1",
role: "server",
},
async () => {
state.dispatch({
type: "available",
coValue: mockCoValue,
});
},
);
peer1.closed = true;
const state = CoValueState.Unknown(mockCoValueId);
const loadPromise = state.loadFromPeers([peer1, peer2]);
for (let i = 0; i < CO_VALUE_LOADING_MAX_RETRIES; i++) {
await vi.runAllTimersAsync();
}
await loadPromise;
expect(peer1.pushOutgoingMessage).toHaveBeenCalledTimes(0);
expect(peer2.pushOutgoingMessage).toHaveBeenCalledTimes(1);
expect(state.state.type).toBe("available");
await expect(state.getCoValue()).resolves.toEqual({ id: mockCoValueId });
vi.useRealTimers();
});
test("should not be stuck in loading state when not getting a response", async () => {
vi.useFakeTimers();
const peer1 = createMockPeerState(
{
id: "peer1",
role: "server",
},
async () => {},
);
const state = CoValueState.Unknown(mockCoValueId);
const loadPromise = state.loadFromPeers([peer1]);
for (let i = 0; i < CO_VALUE_LOADING_MAX_RETRIES * 2; i++) {
await vi.runAllTimersAsync();
}
await loadPromise;
expect(peer1.pushOutgoingMessage).toHaveBeenCalledTimes(5);
expect(state.state.type).toBe("unavailable");
await expect(state.getCoValue()).resolves.toEqual("unavailable");
vi.useRealTimers();
});
});
function createMockPeerState(

View File

@@ -1,34 +1,5 @@
# jazz-browser-media-images
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- jazz-browser@0.8.31
- jazz-tools@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- jazz-browser@0.8.30
- jazz-tools@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
- jazz-browser@0.8.29
- jazz-tools@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,14 +1,14 @@
{
"name": "jazz-browser-auth-clerk",
"version": "0.8.31",
"version": "0.8.28",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",
"dependencies": {
"cojson": "workspace:0.8.31",
"jazz-browser": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31"
"cojson": "workspace:0.8.28",
"jazz-browser": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28"
},
"scripts": {
"format-and-lint": "biome check .",

View File

@@ -1,26 +1,5 @@
# jazz-browser-media-images
## 0.8.31
### Patch Changes
- jazz-browser@0.8.31
- jazz-tools@0.8.31
## 0.8.30
### Patch Changes
- jazz-browser@0.8.30
- jazz-tools@0.8.30
## 0.8.29
### Patch Changes
- jazz-browser@0.8.29
- jazz-tools@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-browser-media-images",
"version": "0.8.31",
"version": "0.8.28",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",
@@ -8,8 +8,8 @@
"dependencies": {
"@types/image-blob-reduce": "^4.1.1",
"image-blob-reduce": "^4.1.0",
"jazz-browser": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"jazz-browser": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"pica": "^9.0.1",
"typescript": "^5.3.3"
},

View File

@@ -1,37 +1,5 @@
# jazz-browser
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- cojson-storage-indexeddb@0.8.31
- cojson-transport-ws@0.8.31
- jazz-tools@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- cojson-storage-indexeddb@0.8.30
- cojson-transport-ws@0.8.30
- jazz-tools@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson-transport-ws@0.8.29
- cojson@0.8.29
- cojson-storage-indexeddb@0.8.29
- jazz-tools@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,16 +1,16 @@
{
"name": "jazz-browser",
"version": "0.8.31",
"version": "0.8.28",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",
"dependencies": {
"@scure/bip39": "^1.3.0",
"cojson": "workspace:0.8.31",
"cojson-storage-indexeddb": "workspace:0.8.31",
"cojson-transport-ws": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"cojson-storage-indexeddb": "workspace:0.8.28",
"cojson-transport-ws": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"typescript": "^5.3.3"
},
"scripts": {

View File

@@ -1,4 +1,4 @@
import { LSMStorage, LocalNode, Peer, RawAccountID } from "cojson";
import { LSMStorage, Peer, RawAccountID } from "cojson";
import { IDBStorage } from "cojson-storage-indexeddb";
import {
Account,
@@ -64,15 +64,12 @@ export async function createJazzBrowserContext<Acc extends Account>(
options: BrowserContextOptions<Acc> | BaseBrowserContextOptions,
): Promise<BrowserContext<Acc> | BrowserGuestContext> {
const crypto = options.crypto || (await WasmCrypto.create());
let node: LocalNode | undefined = undefined;
const wsPeer = createWebSocketPeerWithReconnection(
options.peer,
options.reconnectionTimeout,
(peer) => {
if (node) {
node.syncManager.addPeer(peer);
}
node.syncManager.addPeer(peer);
},
);
@@ -109,7 +106,7 @@ export async function createJazzBrowserContext<Acc extends Account>(
peersToLoadFrom,
});
node =
const node =
"account" in context ? context.account._raw.core.node : context.agent.node;
return "account" in context

View File

@@ -1,34 +1,5 @@
# jazz-autosub
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- cojson-transport-ws@0.8.31
- jazz-tools@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- cojson-transport-ws@0.8.30
- jazz-tools@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson-transport-ws@0.8.29
- cojson@0.8.29
- jazz-tools@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -5,11 +5,11 @@
"types": "src/index.ts",
"type": "module",
"license": "MIT",
"version": "0.8.31",
"version": "0.8.28",
"dependencies": {
"cojson": "workspace:0.8.31",
"cojson-transport-ws": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"cojson-transport-ws": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28",
"ws": "^8.14.2"
},
"devDependencies": {

View File

@@ -1,37 +1,5 @@
# jazz-browser-media-images
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- jazz-browser-auth-clerk@0.8.31
- jazz-react@0.8.31
- jazz-tools@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- jazz-browser-auth-clerk@0.8.30
- jazz-react@0.8.30
- jazz-tools@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
- jazz-browser-auth-clerk@0.8.29
- jazz-react@0.8.29
- jazz-tools@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,15 +1,15 @@
{
"name": "jazz-react-auth-clerk",
"version": "0.8.31",
"version": "0.8.28",
"type": "module",
"main": "dist/index.js",
"types": "src/index.tsx",
"license": "MIT",
"dependencies": {
"cojson": "workspace:0.8.31",
"jazz-browser-auth-clerk": "workspace:0.8.31",
"jazz-react": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31"
"cojson": "workspace:0.8.28",
"jazz-browser-auth-clerk": "workspace:0.8.28",
"jazz-react": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28"
},
"peerDependencies": {
"react": "^18.2.0"

View File

@@ -1,23 +1,5 @@
# jazz-browser-media-images
## 0.8.23
### Patch Changes
- jazz-tools@0.8.31
## 0.8.22
### Patch Changes
- jazz-tools@0.8.30
## 0.8.21
### Patch Changes
- jazz-tools@0.8.29
## 0.8.20
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-react-native-media-images",
"version": "0.8.23",
"version": "0.8.20",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

View File

@@ -1,34 +1,5 @@
# jazz-browser
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- cojson-transport-ws@0.8.31
- jazz-tools@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- cojson-transport-ws@0.8.30
- jazz-tools@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson-transport-ws@0.8.29
- cojson@0.8.29
- jazz-tools@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-react-native",
"version": "0.8.31",
"version": "0.8.28",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",

View File

@@ -1,34 +1,5 @@
# jazz-react
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- jazz-browser@0.8.31
- jazz-tools@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- jazz-browser@0.8.30
- jazz-tools@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
- jazz-browser@0.8.29
- jazz-tools@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -1,15 +1,15 @@
{
"name": "jazz-react",
"version": "0.8.31",
"version": "0.8.28",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",
"dependencies": {
"@scure/bip39": "^1.3.0",
"cojson": "workspace:0.8.31",
"jazz-browser": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.31"
"cojson": "workspace:0.8.28",
"jazz-browser": "workspace:0.8.28",
"jazz-tools": "workspace:0.8.28"
},
"devDependencies": {
"@types/react": "^18.2.19",

View File

@@ -1,37 +1,5 @@
# jazz-run
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- cojson-storage-sqlite@0.8.31
- cojson-transport-ws@0.8.31
- jazz-tools@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- cojson-storage-sqlite@0.8.30
- cojson-transport-ws@0.8.30
- jazz-tools@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson-transport-ws@0.8.29
- cojson@0.8.29
- cojson-storage-sqlite@0.8.29
- jazz-tools@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -3,7 +3,7 @@
"bin": "./dist/index.js",
"type": "module",
"license": "MIT",
"version": "0.8.31",
"version": "0.8.28",
"scripts": {
"format-and-lint": "biome check .",
"format-and-lint:fix": "biome check . --write",
@@ -18,11 +18,11 @@
"@effect/printer-ansi": "^0.34.5",
"@effect/schema": "^0.71.1",
"@effect/typeclass": "^0.25.5",
"cojson": "workspace:0.8.31",
"cojson-storage-sqlite": "workspace:0.8.31",
"cojson-transport-ws": "workspace:0.8.31",
"cojson": "workspace:0.8.28",
"cojson-storage-sqlite": "workspace:0.8.28",
"cojson-transport-ws": "workspace:0.8.28",
"effect": "^3.6.5",
"jazz-tools": "workspace:0.8.31",
"jazz-tools": "workspace:0.8.28",
"ws": "^8.14.2"
},
"devDependencies": {

View File

@@ -1,28 +1,5 @@
# jazz-tools
## 0.8.31
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
## 0.8.30
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
## 0.8.29
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
## 0.8.28
### Patch Changes

View File

@@ -19,7 +19,7 @@
},
"type": "module",
"license": "MIT",
"version": "0.8.31",
"version": "0.8.28",
"dependencies": {
"cojson": "workspace:*",
"fast-check": "^3.17.2"

View File

@@ -9,10 +9,8 @@ import {
* SchemaUnion allows you to create union types of CoValues that can be discriminated at runtime.
*
* @categoryDescription Declaration
* Declare your union types by extending `SchemaUnion.Of(...)` and passing a discriminator function
* that determines which concrete type to use based on the raw data.
* Declare your union types by extending `SchemaUnion.Of(...)` and passing a discriminator function that determines which concrete type to use based on the raw data.
*
* @example
* ```ts
* import { SchemaUnion, CoMap } from "jazz-tools";
*
@@ -40,28 +38,15 @@ import {
* });
* ```
*
* @categoryDescription Loading
* When loading a SchemaUnion, the correct subclass will be instantiated based on the discriminator.
* You can narrow the returned instance to a subclass by using `instanceof` like so:
*
* @example
* ```ts
* const widget = await loadCoValue(WidgetUnion, id, me, {});
* if (widget instanceof ButtonWidget) {
* console.log(widget.label);
* } else if (widget instanceof SliderWidget) {
* console.log(widget.min, widget.max);
* }
* ```
*
* @category CoValues
*/
export abstract class SchemaUnion extends CoValueBase implements CoValue {
/**
* Create a new union type from a discriminator function.
*
* The discriminator function receives the raw data and should return the appropriate
* concrete class to use for that data.
* The discriminator function receives the raw data and should return the appropriate concrete class to use for that data.
*
* When loading a SchemaUnion, the correct subclass will be instantiated based on the discriminator.
*
* @param discriminator - Function that determines which concrete type to use
* @returns A new class that can create/load instances of the union type
@@ -75,10 +60,19 @@ export abstract class SchemaUnion extends CoValueBase implements CoValue {
* default: throw new Error("Unknown widget type");
* }
* });
*
* const widget = await loadCoValue(WidgetUnion, id, me, {});
*
* // You can narrow the returned instance to a subclass by using `instanceof`
* if (widget instanceof ButtonWidget) {
* console.log(widget.label);
* } else if (widget instanceof SliderWidget) {
* console.log(widget.min, widget.max);
* }
* ```
*
* @category Creation
*/
* @category Declaration
**/
static Of<V extends CoValue>(
discriminator: (raw: V["_raw"]) => CoValueClass<V> & CoValueFromRaw<V>,
): CoValueClass<V> & typeof SchemaUnion {

View File

@@ -1,34 +1,5 @@
# jazz-react
## 0.8.19
### Patch Changes
- Updated dependencies [e511d6d]
- cojson@0.8.31
- jazz-browser@0.8.31
- jazz-tools@0.8.31
## 0.8.18
### Patch Changes
- Updated dependencies [0a2fae3]
- Updated dependencies [99cda2f]
- cojson@0.8.30
- jazz-browser@0.8.30
- jazz-tools@0.8.30
## 0.8.17
### Patch Changes
- Updated dependencies [dcc9c2e]
- Updated dependencies [699553f]
- cojson@0.8.29
- jazz-browser@0.8.29
- jazz-tools@0.8.29
## 0.8.16
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-vue",
"version": "0.8.19",
"version": "0.8.16",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

224
pnpm-lock.yaml generated
View File

@@ -20,7 +20,7 @@ importers:
version: 2.27.3
'@vitest/coverage-istanbul':
specifier: 1.5.3
version: 1.5.3(vitest@1.5.3(@types/node@22.5.1)(@vitest/ui@1.5.3)(happy-dom@15.8.3)(jsdom@20.0.3)(terser@5.33.0))
version: 1.5.3(vitest@1.5.3)
'@vitest/ui':
specifier: 1.5.3
version: 1.5.3(vitest@1.5.3)
@@ -32,7 +32,7 @@ importers:
version: 1.8.2
ts-node:
specifier: ^10.9.1
version: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)
version: 10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2)
turbo:
specifier: ^2.3.1
version: 2.3.1
@@ -46,7 +46,7 @@ importers:
e2e/BinaryCoStream:
dependencies:
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/cojson
hash-slash:
specifier: workspace:0.2.1
@@ -55,10 +55,10 @@ importers:
specifier: ^3.0.1
version: 3.0.1
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-tools
react:
specifier: 18.3.1
@@ -150,13 +150,13 @@ importers:
specifier: ^2.0.0
version: 2.0.0
jazz-browser-media-images:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-browser-media-images
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-tools
next:
specifier: 14.2.5
@@ -182,7 +182,7 @@ importers:
version: 8.4.32
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
typescript:
specifier: ^5.3.3
version: 5.6.2
@@ -205,16 +205,16 @@ importers:
specifier: ^2.0.0
version: 2.0.0
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/cojson
hash-slash:
specifier: workspace:0.2.1
version: link:../../packages/hash-slash
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -242,7 +242,7 @@ importers:
version: 1.14.0
tailwindcss-animate:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
uniqolor:
specifier: ^1.1.0
version: 1.1.1
@@ -273,7 +273,7 @@ importers:
version: 8.4.32
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -302,19 +302,19 @@ importers:
specifier: ^2.0.0
version: 2.0.0
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/cojson
hash-slash:
specifier: workspace:0.2.1
version: link:../../packages/hash-slash
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react
jazz-react-auth-clerk:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react-auth-clerk
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -342,7 +342,7 @@ importers:
version: 1.14.0
tailwindcss-animate:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
uniqolor:
specifier: ^1.1.0
version: 1.1.1
@@ -367,7 +367,7 @@ importers:
version: 8.4.32
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -433,7 +433,7 @@ importers:
version: link:../../packages/jazz-tools
nativewind:
specifier: ^2.0.11
version: 2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
version: 2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
react:
specifier: 18.3.1
version: 18.3.1
@@ -476,7 +476,7 @@ importers:
version: 18.2.79
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -542,7 +542,7 @@ importers:
version: 6.3.1(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)))
expo-router:
specifier: ~3.5.23
version: 3.5.23(expo-constants@16.0.2(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))))(expo-linking@6.3.1(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))))(expo-modules-autolinking@1.11.3)(expo-status-bar@1.12.1)(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(react-native-reanimated@3.10.1(@babel/core@7.25.2)(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.10.5(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native-screens@3.31.1(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)(typescript@5.3.3)
version: 3.5.23(gxmcwa4qdc6bvqs2lj3c6b64ki)
expo-secure-store:
specifier: ~13.0.2
version: 13.0.2(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)))
@@ -572,7 +572,7 @@ importers:
version: link:../../packages/jazz-tools
nativewind:
specifier: ^2.0.11
version: 2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
version: 2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
react:
specifier: 18.3.1
version: 18.3.1
@@ -636,16 +636,16 @@ importers:
version: 18.3.0
jest:
specifier: ^29.2.1
version: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
jest-expo:
specifier: ~51.0.3
version: 51.0.4(@babel/core@7.25.2)(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))(react@18.3.1)
version: 51.0.4(@babel/core@7.25.2)(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))(react@18.3.1)
react-test-renderer:
specifier: 18.2.0
version: 18.2.0(react@18.3.1)
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -700,7 +700,7 @@ importers:
version: 8.4.47
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
typescript:
specifier: ^5.3.3
version: 5.6.2
@@ -732,10 +732,10 @@ importers:
specifier: ^2.0.0
version: 2.0.0
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/cojson
cojson-transport-ws:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/cojson-transport-ws
hash-slash:
specifier: workspace:0.2.1
@@ -766,7 +766,7 @@ importers:
version: 1.14.0
tailwindcss-animate:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
uniqolor:
specifier: ^1.1.0
version: 1.1.1
@@ -791,7 +791,7 @@ importers:
version: 8.4.32
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -808,7 +808,7 @@ importers:
specifier: workspace:*
version: link:../../packages/jazz-react
jazz-react-auth-clerk:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react-auth-clerk
jazz-tools:
specifier: workspace:*
@@ -897,10 +897,10 @@ importers:
specifier: ^2.0.0
version: 2.0.0
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -922,7 +922,7 @@ importers:
version: 1.14.0
tailwindcss-animate:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
devDependencies:
'@playwright/test':
specifier: ^1.46.1
@@ -944,7 +944,7 @@ importers:
version: 8.4.32
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -996,7 +996,7 @@ importers:
version: 8.4.47
tailwindcss:
specifier: ^3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
typescript:
specifier: ^5.3.3
version: 5.6.2
@@ -1007,10 +1007,10 @@ importers:
examples/password-manager:
dependencies:
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-tools
react:
specifier: 18.3.1
@@ -1045,7 +1045,7 @@ importers:
version: 8.4.32
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -1071,13 +1071,13 @@ importers:
specifier: ^2.0.0
version: 2.0.0
jazz-browser-media-images:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-browser-media-images
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -1102,7 +1102,7 @@ importers:
version: 1.14.0
tailwindcss-animate:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
uniqolor:
specifier: ^1.1.0
version: 1.1.1
@@ -1132,14 +1132,14 @@ importers:
specifier: ^3.0.1
version: 3.0.1
jazz-run:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-run
postcss:
specifier: ^8.4.27
version: 8.4.32
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -1170,10 +1170,10 @@ importers:
specifier: ^2.0.0
version: 2.0.0
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -1198,7 +1198,7 @@ importers:
version: 1.14.0
tailwindcss-animate:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
version: 1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
uniqolor:
specifier: ^1.1.0
version: 1.1.1
@@ -1223,7 +1223,7 @@ importers:
version: 8.4.32
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
typescript:
specifier: ^5.3.3
version: 5.3.3
@@ -1281,7 +1281,7 @@ importers:
version: 8.4.47
tailwindcss:
specifier: 3.3.2
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
version: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
typescript:
specifier: ^5.3.3
version: 5.6.2
@@ -1335,7 +1335,7 @@ importers:
packages/cojson-storage-indexeddb:
dependencies:
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
devDependencies:
'@vitest/browser':
@@ -1360,7 +1360,7 @@ importers:
specifier: ^8.5.2
version: 8.7.0
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
typescript:
specifier: ^5.3.3
@@ -1373,7 +1373,7 @@ importers:
packages/cojson-transport-ws:
dependencies:
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
typescript:
specifier: ^5.3.3
@@ -1401,16 +1401,16 @@ importers:
specifier: ^1.3.0
version: 1.3.0
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
cojson-storage-indexeddb:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson-storage-indexeddb
cojson-transport-ws:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson-transport-ws
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-tools
typescript:
specifier: ^5.3.3
@@ -1419,13 +1419,13 @@ importers:
packages/jazz-browser-auth-clerk:
dependencies:
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
jazz-browser:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-browser
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-tools
devDependencies:
typescript:
@@ -1441,10 +1441,10 @@ importers:
specifier: ^4.1.0
version: 4.1.0
jazz-browser:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-browser
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-tools
pica:
specifier: ^9.0.1
@@ -1460,13 +1460,13 @@ importers:
packages/jazz-nodejs:
dependencies:
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
cojson-transport-ws:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson-transport-ws
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-tools
ws:
specifier: ^8.14.2
@@ -1485,13 +1485,13 @@ importers:
specifier: ^1.3.0
version: 1.3.0
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
jazz-browser:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-browser
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-tools
devDependencies:
'@types/react':
@@ -1510,16 +1510,16 @@ importers:
packages/jazz-react-auth-clerk:
dependencies:
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
jazz-browser-auth-clerk:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-browser-auth-clerk
jazz-react:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-react
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-tools
react:
specifier: 18.3.1
@@ -1603,19 +1603,19 @@ importers:
specifier: ^0.25.5
version: 0.25.5(effect@3.6.5)
cojson:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson
cojson-storage-sqlite:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson-storage-sqlite
cojson-transport-ws:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../cojson-transport-ws
effect:
specifier: ^3.6.5
version: 3.6.5
jazz-tools:
specifier: workspace:0.8.31
specifier: workspace:0.8.28
version: link:../jazz-tools
ws:
specifier: ^8.14.2
@@ -12796,7 +12796,7 @@ snapshots:
jest-util: 29.7.0
slash: 3.0.0
'@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))':
'@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))':
dependencies:
'@jest/console': 29.7.0
'@jest/reporters': 29.7.0
@@ -12810,7 +12810,7 @@ snapshots:
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -14614,7 +14614,7 @@ snapshots:
- esbuild
- rollup
'@vitest/coverage-istanbul@1.5.3(vitest@1.5.3(@types/node@22.5.1)(@vitest/ui@1.5.3)(happy-dom@15.8.3)(jsdom@20.0.3)(terser@5.33.0))':
'@vitest/coverage-istanbul@1.5.3(vitest@1.5.3)':
dependencies:
debug: 4.3.7
istanbul-lib-coverage: 3.2.2
@@ -15737,13 +15737,13 @@ snapshots:
crc-32: 1.2.2
readable-stream: 3.6.2
create-jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
create-jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
dependencies:
'@jest/types': 29.6.3
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -16520,8 +16520,8 @@ snapshots:
dependencies:
invariant: 2.2.4
? expo-router@3.5.23(expo-constants@16.0.2(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))))(expo-linking@6.3.1(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))))(expo-modules-autolinking@1.11.3)(expo-status-bar@1.12.1)(expo@51.0.37(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(react-native-reanimated@3.10.1(@babel/core@7.25.2)(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.10.5(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native-screens@3.31.1(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1))(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))(react@18.3.1)(typescript@5.3.3)
: dependencies:
expo-router@3.5.23(gxmcwa4qdc6bvqs2lj3c6b64ki):
dependencies:
'@expo/metro-runtime': 3.2.3(react-native@0.74.5(@babel/core@7.25.2)(@babel/preset-env@7.25.4(@babel/core@7.25.2))(@types/react@18.2.79)(react@18.3.1))
'@expo/server': 0.4.4(typescript@5.3.3)
'@radix-ui/react-slot': 1.0.1(react@18.3.1)
@@ -17527,16 +17527,16 @@ snapshots:
- babel-plugin-macros
- supports-color
jest-cli@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
jest-cli@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
dependencies:
'@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
'@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
create-jest: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
create-jest: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
exit: 0.1.2
import-local: 3.2.0
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
jest-config: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -17546,7 +17546,7 @@ snapshots:
- supports-color
- ts-node
jest-config@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
jest-config@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
dependencies:
'@babel/core': 7.25.2
'@jest/test-sequencer': 29.7.0
@@ -17572,7 +17572,7 @@ snapshots:
strip-json-comments: 3.1.1
optionalDependencies:
'@types/node': 22.5.1
ts-node: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)
ts-node: 10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
@@ -17620,7 +17620,7 @@ snapshots:
jest-mock: 29.7.0
jest-util: 29.7.0
jest-expo@51.0.4(@babel/core@7.25.2)(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))(react@18.3.1):
jest-expo@51.0.4(@babel/core@7.25.2)(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))(react@18.3.1):
dependencies:
'@expo/config': 9.0.4
'@expo/json-file': 8.3.3
@@ -17629,7 +17629,7 @@ snapshots:
find-up: 5.0.0
jest-environment-jsdom: 29.7.0
jest-watch-select-projects: 2.0.0
jest-watch-typeahead: 2.2.1(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)))
jest-watch-typeahead: 2.2.1(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)))
json5: 2.2.3
lodash: 4.17.21
react-test-renderer: 18.2.0(react@18.3.1)
@@ -17818,11 +17818,11 @@ snapshots:
chalk: 3.0.0
prompts: 2.4.2
jest-watch-typeahead@2.2.1(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))):
jest-watch-typeahead@2.2.1(jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))):
dependencies:
ansi-escapes: 6.2.1
chalk: 4.1.2
jest: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
jest: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
jest-regex-util: 29.6.3
jest-watcher: 29.7.0
slash: 5.1.0
@@ -17847,12 +17847,12 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
jest@29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
dependencies:
'@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
'@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
'@jest/types': 29.6.3
import-local: 3.2.0
jest-cli: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
jest-cli: 29.7.0(@types/node@22.5.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -18643,7 +18643,7 @@ snapshots:
napi-build-utils@1.0.2: {}
nativewind@2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))):
nativewind@2.0.11(react@18.3.1)(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))):
dependencies:
'@babel/generator': 7.25.6
'@babel/helper-module-imports': 7.18.6
@@ -18657,7 +18657,7 @@ snapshots:
postcss-css-variables: 0.18.0(postcss@8.4.47)
postcss-nested: 5.0.6(postcss@8.4.47)
react-is: 18.2.0
tailwindcss: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
tailwindcss: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
use-sync-external-store: 1.2.2(react@18.3.1)
transitivePeerDependencies:
- react
@@ -19116,21 +19116,21 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.4.47
postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
dependencies:
lilconfig: 3.0.0
yaml: 2.5.0
optionalDependencies:
postcss: 8.4.47
ts-node: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)
ts-node: 10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)
postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)):
postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2)):
dependencies:
lilconfig: 3.0.0
yaml: 2.5.0
optionalDependencies:
postcss: 8.4.47
ts-node: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)
ts-node: 10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2)
postcss-nested@5.0.6(postcss@8.4.47):
dependencies:
@@ -20396,11 +20396,11 @@ snapshots:
tailwind-merge@1.14.0: {}
tailwindcss-animate@1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))):
tailwindcss-animate@1.0.7(tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))):
dependencies:
tailwindcss: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
tailwindcss: 3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3)):
tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3)):
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -20419,7 +20419,7 @@ snapshots:
postcss: 8.4.47
postcss-import: 15.1.0(postcss@8.4.47)
postcss-js: 4.0.1(postcss@8.4.47)
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3))
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3))
postcss-nested: 6.0.1(postcss@8.4.47)
postcss-selector-parser: 6.0.13
postcss-value-parser: 4.2.0
@@ -20428,7 +20428,7 @@ snapshots:
transitivePeerDependencies:
- ts-node
tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)):
tailwindcss@3.3.2(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2)):
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -20447,7 +20447,7 @@ snapshots:
postcss: 8.4.47
postcss-import: 15.1.0(postcss@8.4.47)
postcss-js: 4.0.1(postcss@8.4.47)
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2))
postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2))
postcss-nested: 6.0.1(postcss@8.4.47)
postcss-selector-parser: 6.0.13
postcss-value-parser: 4.2.0
@@ -20612,7 +20612,7 @@ snapshots:
ts-interface-checker@0.1.13: {}
ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.3.3):
ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.3.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.9
@@ -20633,7 +20633,7 @@ snapshots:
'@swc/core': 1.7.22(@swc/helpers@0.5.5)
optional: true
ts-node@10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2):
ts-node@10.9.2(@swc/core@1.7.22(@swc/helpers@0.5.5))(@types/node@22.5.1)(typescript@5.6.2):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.9