Compare commits
51 Commits
jazz-react
...
benjamin-j
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
720435e2f2 | ||
|
|
2dcf6925b4 | ||
|
|
55d49a3435 | ||
|
|
33d1c11909 | ||
|
|
02ee69672d | ||
|
|
743f7d068b | ||
|
|
c0a1bb272e | ||
|
|
a9f08ebbbe | ||
|
|
0d86b132ea | ||
|
|
5114bbec88 | ||
|
|
29deedb163 | ||
|
|
a322a0e3b5 | ||
|
|
4fea86141f | ||
|
|
d923d45a82 | ||
|
|
8c8a5b242a | ||
|
|
d020ee2825 | ||
|
|
e00489d8ee | ||
|
|
1e08581049 | ||
|
|
5a5f886bdf | ||
|
|
e5c575ec10 | ||
|
|
68c2b2598e | ||
|
|
c0ba15cca8 | ||
|
|
e511d6d56a | ||
|
|
53f4b23c0a | ||
|
|
749a424cf1 | ||
|
|
33c4ef902d | ||
|
|
e2e3751172 | ||
|
|
6c62f4be5d | ||
|
|
0a2fae3830 | ||
|
|
4ab533af6b | ||
|
|
99cda2f33d | ||
|
|
e4fcafd576 | ||
|
|
a9cff03bcb | ||
|
|
26324d4b1e | ||
|
|
bd022ffd5e | ||
|
|
94e3922efc | ||
|
|
dcc9c2e376 | ||
|
|
48edcaff37 | ||
|
|
a18ed077ca | ||
|
|
7780346208 | ||
|
|
699553fe9f | ||
|
|
bdd5ad7eb1 | ||
|
|
a6942030d4 | ||
|
|
905c6b312b | ||
|
|
fc845cc930 | ||
|
|
0e6ea3f762 | ||
|
|
f0060e0355 | ||
|
|
9e9788395c | ||
|
|
6371c7689f | ||
|
|
605734c71c | ||
|
|
db5227b463 |
@@ -1,5 +1,43 @@
|
||||
# @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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.104
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@jazz-e2e/filestream",
|
||||
"private": true,
|
||||
"version": "0.0.104",
|
||||
"version": "0.0.108",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
@@ -13,11 +13,11 @@
|
||||
"test:ui": "playwright test --ui"
|
||||
},
|
||||
"dependencies": {
|
||||
"cojson": "workspace:0.8.27",
|
||||
"cojson": "workspace:0.8.31",
|
||||
"hash-slash": "workspace:0.2.1",
|
||||
"is-ci": "^3.0.1",
|
||||
"jazz-react": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-react": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# @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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.103
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@jazz-e2e/covalues",
|
||||
"private": true,
|
||||
"version": "0.0.103",
|
||||
"version": "0.0.107",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,37 @@
|
||||
# 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
|
||||
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
- jazz-browser-media-images@0.8.28
|
||||
|
||||
## 0.1.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-example-book-shelf",
|
||||
"version": "0.1.19",
|
||||
"version": "0.1.23",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
@@ -11,9 +11,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"clsx": "^2.0.0",
|
||||
"jazz-browser-media-images": "workspace:0.8.27",
|
||||
"jazz-react": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-browser-media-images": "workspace:0.8.31",
|
||||
"jazz-react": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"next": "14.2.5",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0"
|
||||
|
||||
@@ -1,5 +1,47 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- jazz-react@0.8.28
|
||||
- jazz-react-auth-clerk@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.103
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-chat-clerk",
|
||||
"private": true,
|
||||
"version": "0.0.103",
|
||||
"version": "0.0.107",
|
||||
"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.27",
|
||||
"cojson": "workspace:0.8.31",
|
||||
"hash-slash": "workspace:0.2.1",
|
||||
"jazz-react": "workspace:0.8.27",
|
||||
"jazz-react-auth-clerk": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-react": "workspace:0.8.31",
|
||||
"jazz-react-auth-clerk": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"lucide-react": "^0.274.0",
|
||||
"qrcode": "^1.5.3",
|
||||
"react": "^18.2.0",
|
||||
|
||||
@@ -1,5 +1,41 @@
|
||||
# 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
|
||||
|
||||
- jazz-react-auth-clerk@0.8.28
|
||||
- jazz-react-native@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
- jazz-react-native-media-images@0.8.20
|
||||
|
||||
## 1.0.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "chat-rn-clerk",
|
||||
"main": "index.js",
|
||||
"version": "1.0.19",
|
||||
"version": "1.0.23",
|
||||
"scripts": {
|
||||
"build": "expo export -p ios",
|
||||
"start": "expo start",
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# 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
|
||||
|
||||
- jazz-react-native@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 1.0.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "chat-rn",
|
||||
"version": "1.0.18",
|
||||
"version": "1.0.22",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"build": "expo export -p ios",
|
||||
|
||||
@@ -1,5 +1,37 @@
|
||||
# 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
|
||||
|
||||
- jazz-browser@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
- jazz-vue@0.8.16
|
||||
|
||||
## 0.0.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "chat-vue",
|
||||
"version": "0.0.10",
|
||||
"version": "0.0.14",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.105
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-chat",
|
||||
"private": true,
|
||||
"version": "0.0.105",
|
||||
"version": "0.0.109",
|
||||
"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.27",
|
||||
"cojson": "workspace:0.8.31",
|
||||
"hash-slash": "workspace:0.2.1",
|
||||
"jazz-react": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-react": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"lucide-react": "^0.274.0",
|
||||
"qrcode": "^1.5.3",
|
||||
"react": "^18.2.0",
|
||||
|
||||
@@ -1,5 +1,39 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- cojson-transport-ws@0.8.28
|
||||
|
||||
## 0.0.75
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-inspector",
|
||||
"private": true,
|
||||
"version": "0.0.75",
|
||||
"version": "0.0.79",
|
||||
"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.27",
|
||||
"cojson-transport-ws": "workspace:0.8.27",
|
||||
"cojson": "workspace:0.8.31",
|
||||
"cojson-transport-ws": "workspace:0.8.31",
|
||||
"hash-slash": "workspace:0.2.1",
|
||||
"lucide-react": "^0.274.0",
|
||||
"qrcode": "^1.5.3",
|
||||
|
||||
@@ -1,5 +1,37 @@
|
||||
# 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
|
||||
|
||||
- jazz-react@0.8.28
|
||||
- jazz-react-auth-clerk@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "minimal-auth-clerk",
|
||||
"private": true,
|
||||
"version": "0.0.4",
|
||||
"version": "0.0.8",
|
||||
"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.27",
|
||||
"jazz-react-auth-clerk": "workspace:0.8.31",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# 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
|
||||
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "minimal-auth-passkey",
|
||||
"private": true,
|
||||
"version": "0.0.3",
|
||||
"version": "0.0.7",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# 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
|
||||
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-music-player",
|
||||
"private": true,
|
||||
"version": "0.0.25",
|
||||
"version": "0.0.29",
|
||||
"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.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-react": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"lucide-react": "^0.274.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
|
||||
@@ -1,5 +1,37 @@
|
||||
# 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
|
||||
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
- jazz-browser-media-images@0.8.28
|
||||
|
||||
## 0.0.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-onboarding",
|
||||
"private": true,
|
||||
"version": "0.0.6",
|
||||
"version": "0.0.10",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# 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
|
||||
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.24
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-password-manager",
|
||||
"private": true,
|
||||
"version": "0.0.24",
|
||||
"version": "0.0.28",
|
||||
"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.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-react": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-hook-form": "^7.41.5",
|
||||
|
||||
@@ -1,5 +1,37 @@
|
||||
# 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
|
||||
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
- jazz-browser-media-images@0.8.28
|
||||
|
||||
## 0.0.122
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-pets",
|
||||
"private": true,
|
||||
"version": "0.0.122",
|
||||
"version": "0.0.126",
|
||||
"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.27",
|
||||
"jazz-react": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-browser-media-images": "workspace:0.8.31",
|
||||
"jazz-react": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"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.27",
|
||||
"jazz-run": "workspace:0.8.31",
|
||||
"postcss": "^8.4.27",
|
||||
"tailwindcss": "3.3.2",
|
||||
"typescript": "^5.3.3",
|
||||
|
||||
@@ -1,5 +1,37 @@
|
||||
# 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
|
||||
|
||||
- jazz-browser@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
- jazz-vue@0.8.16
|
||||
|
||||
## 0.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "todo-vue",
|
||||
"version": "0.0.8",
|
||||
"version": "0.0.12",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# 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
|
||||
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.0.121
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-todo",
|
||||
"private": true,
|
||||
"version": "0.0.121",
|
||||
"version": "0.0.125",
|
||||
"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.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-react": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"lucide-react": "^0.274.0",
|
||||
"qrcode": "^1.5.3",
|
||||
"react": "^18.2.0",
|
||||
|
||||
@@ -69,6 +69,15 @@ const team: Array<TeamMember> = [
|
||||
github: "marinoska",
|
||||
image: "marina.jpeg",
|
||||
},
|
||||
{
|
||||
name: "Giordano Ricci",
|
||||
titles: ["Full-Stack Dev", "DevOps"],
|
||||
location: "Lisbon, Portugal ",
|
||||
linkedin: "giordanoricci",
|
||||
github: "Elfo404",
|
||||
website: "https://giordanoricci.com",
|
||||
image: "gio.jpg",
|
||||
},
|
||||
];
|
||||
|
||||
function SocialLink({
|
||||
|
||||
BIN
homepage/gcmp/public/team/gio.jpg
Normal file
BIN
homepage/gcmp/public/team/gio.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
@@ -15,7 +15,7 @@ export default function Layout({
|
||||
}) {
|
||||
return (
|
||||
<DocsLayout nav={<ApiNav />}>
|
||||
<Prose className="py-8">{children}</Prose>
|
||||
<Prose className="py-8 [&_*]:scroll-mt-[8rem]">{children}</Prose>
|
||||
</DocsLayout>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -70,7 +70,11 @@ function RenderPackageChild({
|
||||
return child.getAllSignatures().map((signature, i) => {
|
||||
const paramTypes = printParamsWithTypes(signature);
|
||||
return (
|
||||
<div key={i} id={child.name} className="not-prose mt-4">
|
||||
<div
|
||||
key={i}
|
||||
id={child.name}
|
||||
className="not-prose mt-4 p-3 rounded bg-stone-50 dark:bg-stone-925"
|
||||
>
|
||||
{
|
||||
<Highlight hide={[0, 2]}>
|
||||
{`function \n${printSimpleSignature(child, signature) + ":"}\n {}`}
|
||||
@@ -171,10 +175,7 @@ function RenderClassOrInterface({
|
||||
</div>
|
||||
)}
|
||||
{classOrInterface.categories?.map((category) => (
|
||||
<div
|
||||
className="flex flex-col divide-y divide-stone-200 dark:divide-stone-900"
|
||||
key={category.title}
|
||||
>
|
||||
<div className="flex flex-col mt-6 first:mt-0" key={category.title}>
|
||||
<PropCategory
|
||||
name={category.title}
|
||||
description={renderSummary(
|
||||
|
||||
@@ -80,15 +80,15 @@ export function ClassOrInterface({
|
||||
className="inline-flex items-center gap-2 lg:-ml-[22px]"
|
||||
>
|
||||
<LinkIcon size={14} className="hidden lg:inline" />
|
||||
<h3>
|
||||
<h3 className="text-lg lg:text-xl">
|
||||
<Highlight>
|
||||
{(isInterface ? "interface " : "class ") + name + typeParameters}
|
||||
</Highlight>
|
||||
</h3>
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex flex-col gap-5">
|
||||
<div>{doc}</div>
|
||||
<div className="flex flex-col gap-5 mt-5">
|
||||
{doc && <div>{doc}</div>}
|
||||
<div>{children}</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -119,7 +119,7 @@ export function PropDecl({
|
||||
example?: ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<div className="text-sm py-3 flex flex-col gap-5">
|
||||
<div className="text-sm flex flex-col gap-3 my-2 p-3 rounded bg-stone-50 dark:bg-stone-925">
|
||||
{(name || type) && (
|
||||
<div>
|
||||
{name && <Highlight>{name + ":"}</Highlight>}
|
||||
@@ -157,7 +157,7 @@ export function FnDecl({
|
||||
example: ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<div className="text-sm py-3 flex flex-col gap-5">
|
||||
<div className="text-sm flex flex-col gap-3 my-2 p-3 rounded bg-stone-50 dark:bg-stone-925">
|
||||
<div className="flex flex-col gap-2">
|
||||
<div>
|
||||
{<Highlight>{signature + ":"}</Highlight>}{" "}
|
||||
@@ -201,7 +201,7 @@ export function PropCategory({
|
||||
}) {
|
||||
return (
|
||||
<>
|
||||
<div className="col-span-6 uppercase font-medium tracking-widest text-stone-500 text-xs py-3">
|
||||
<div className="col-span-6 py-3 font-display font-semibold text-lg text-stone-900 dark:text-white">
|
||||
{name}
|
||||
</div>
|
||||
{description && <PropDecl doc={description} example={example} />}
|
||||
|
||||
@@ -63,15 +63,11 @@ export function ChatDemoSection() {
|
||||
|
||||
const isLocal = window.location.hostname === "localhost";
|
||||
|
||||
const url1 = isLocal
|
||||
? "http://localhost:5173"
|
||||
: "https://jazz-chat-1.vercel.app";
|
||||
|
||||
if (chatId) {
|
||||
const shareServer = isLocal
|
||||
? "http://localhost:5173"
|
||||
: "https://chat.jazz.tools";
|
||||
const url = `${shareServer}/#${chatId}`;
|
||||
const url = `${shareServer}/${chatId}`;
|
||||
setShareUrl(url);
|
||||
|
||||
QRCode.toDataURL(url, {
|
||||
@@ -83,7 +79,10 @@ export function ChatDemoSection() {
|
||||
return; // Once the chatId is set, we don't need to listen for messages anymore
|
||||
}
|
||||
|
||||
setServer1(url1 + `?user=${user1}`);
|
||||
setServer1(
|
||||
(isLocal ? "http://localhost:5173" : "https://jazz-chat-1.vercel.app") +
|
||||
`?user=${user1}`,
|
||||
);
|
||||
setServer2(
|
||||
(isLocal ? "http://localhost:5174" : "https://jazz-chat-2.vercel.app") +
|
||||
`?user=${user2}`,
|
||||
@@ -96,8 +95,8 @@ export function ChatDemoSection() {
|
||||
const listener = (e: MessageEvent) => {
|
||||
const isValidOrigin = e.origin === server1Url.origin;
|
||||
|
||||
if (e.data.type === "chat-load" && isValidOrigin && e.data.id) {
|
||||
setChatId(e.data.id);
|
||||
if (e.data.type === "navigate" && isValidOrigin) {
|
||||
setChatId(new URL(e.data.url).hash);
|
||||
}
|
||||
};
|
||||
window.addEventListener("message", listener);
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"happy-dom": "^15.8.3",
|
||||
"lefthook": "^1.8.2",
|
||||
"ts-node": "^10.9.1",
|
||||
"turbo": "^1.11.2",
|
||||
"turbo": "^2.3.1",
|
||||
"typedoc": "^0.25.13",
|
||||
"vitest": "1.5.3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,35 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "cojson-storage-indexeddb",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"main": "dist/index.js",
|
||||
"type": "module",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:0.8.27"
|
||||
"cojson": "workspace:0.8.31"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vitest/browser": "^0.34.1",
|
||||
|
||||
@@ -1,5 +1,35 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "cojson-storage-sqlite",
|
||||
"type": "module",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"better-sqlite3": "^8.5.2",
|
||||
"cojson": "workspace:0.8.27",
|
||||
"cojson": "workspace:0.8.31",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "cojson-transport-ws",
|
||||
"type": "module",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:0.8.27",
|
||||
"cojson": "workspace:0.8.31",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -59,6 +59,7 @@ function createOutgoingMessagesManager(
|
||||
websocket: AnyWebSocket,
|
||||
batchingByDefault: boolean,
|
||||
) {
|
||||
let closed = false;
|
||||
const outgoingMessages = new BatchedOutgoingMessages((messages) => {
|
||||
if (websocket.readyState === 1) {
|
||||
websocket.send(messages);
|
||||
@@ -68,6 +69,10 @@ 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);
|
||||
}
|
||||
@@ -98,6 +103,7 @@ function createOutgoingMessagesManager(
|
||||
batchingEnabled = enabled;
|
||||
},
|
||||
close() {
|
||||
closed = true;
|
||||
outgoingMessages.close();
|
||||
},
|
||||
};
|
||||
|
||||
@@ -153,6 +153,23 @@ 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();
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# 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
|
||||
|
||||
- 605734c: Send empty known state on all states except available
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
},
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"devDependencies": {
|
||||
"@types/jest": "^29.5.3",
|
||||
"typescript": "^5.3.3",
|
||||
|
||||
@@ -97,6 +97,10 @@ export class PeerState {
|
||||
}
|
||||
|
||||
pushOutgoingMessage(msg: SyncMessage) {
|
||||
if (this.closed) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
const promise = this.queue.push(msg);
|
||||
|
||||
void this.processQueue();
|
||||
@@ -114,8 +118,17 @@ 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;
|
||||
}
|
||||
|
||||
@@ -6,29 +6,31 @@ import {
|
||||
emptyKnownState,
|
||||
} from "./sync.js";
|
||||
|
||||
export type SyncStateGetter = {
|
||||
isUploaded: boolean;
|
||||
};
|
||||
|
||||
export type GlobalSyncStateListenerCallback = (
|
||||
peerId: PeerID,
|
||||
knownState: CoValueKnownState,
|
||||
sync: SyncStateGetter,
|
||||
) => void;
|
||||
|
||||
export type PeerSyncStateListenerCallback = (
|
||||
knownState: CoValueKnownState,
|
||||
sync: SyncStateGetter,
|
||||
) => void;
|
||||
|
||||
export class SyncStateSubscriptionManager {
|
||||
constructor(private syncManager: SyncManager) {}
|
||||
|
||||
private listeners = new Set<
|
||||
(
|
||||
peerId: PeerID,
|
||||
knownState: CoValueKnownState,
|
||||
uploadCompleted: boolean,
|
||||
) => void
|
||||
>();
|
||||
|
||||
private listeners = new Set<GlobalSyncStateListenerCallback>();
|
||||
private listenersByPeers = new Map<
|
||||
PeerID,
|
||||
Set<(knownState: CoValueKnownState, uploadCompleted: boolean) => void>
|
||||
Set<PeerSyncStateListenerCallback>
|
||||
>();
|
||||
|
||||
subscribeToUpdates(
|
||||
listener: (
|
||||
peerId: PeerID,
|
||||
knownState: CoValueKnownState,
|
||||
uploadCompleted: boolean,
|
||||
) => void,
|
||||
) {
|
||||
subscribeToUpdates(listener: GlobalSyncStateListenerCallback) {
|
||||
this.listeners.add(listener);
|
||||
|
||||
return () => {
|
||||
@@ -38,7 +40,7 @@ export class SyncStateSubscriptionManager {
|
||||
|
||||
subscribeToPeerUpdates(
|
||||
peerId: PeerID,
|
||||
listener: (knownState: CoValueKnownState, uploadCompleted: boolean) => void,
|
||||
listener: PeerSyncStateListenerCallback,
|
||||
) {
|
||||
const listeners = this.listenersByPeers.get(peerId) ?? new Set();
|
||||
|
||||
@@ -68,19 +70,29 @@ export class SyncStateSubscriptionManager {
|
||||
}
|
||||
|
||||
const knownState = peer.knownStates.get(id) ?? emptyKnownState(id);
|
||||
const fullyUploadedIntoPeer = this.getIsCoValueFullyUploadedIntoPeer(
|
||||
peerId,
|
||||
id,
|
||||
|
||||
// Build a lazy sync state object to process the isUploaded info
|
||||
// only when requested
|
||||
const syncState = {} as SyncStateGetter;
|
||||
|
||||
const getIsUploaded = simpleMemoize(() =>
|
||||
this.getIsCoValueFullyUploadedIntoPeer(peerId, id),
|
||||
);
|
||||
Object.defineProperties(syncState, {
|
||||
isUploaded: {
|
||||
enumerable: true,
|
||||
get: getIsUploaded,
|
||||
},
|
||||
});
|
||||
|
||||
for (const listener of this.listeners) {
|
||||
listener(peerId, knownState, fullyUploadedIntoPeer);
|
||||
listener(peerId, knownState, syncState);
|
||||
}
|
||||
|
||||
if (!peerListeners) return;
|
||||
|
||||
for (const listener of peerListeners) {
|
||||
listener(knownState, fullyUploadedIntoPeer);
|
||||
listener(knownState, syncState);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,3 +134,8 @@ function getIsUploadCompleted(
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function simpleMemoize<T>(fn: () => T): () => T {
|
||||
let value: T | undefined;
|
||||
return () => value ?? (value = fn());
|
||||
}
|
||||
|
||||
@@ -155,15 +155,16 @@ 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: Object.fromEntries(
|
||||
[...this.sessionLogs.entries()].map(([k, v]) => [
|
||||
k,
|
||||
v.transactions.length,
|
||||
]),
|
||||
),
|
||||
sessions,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ 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;
|
||||
@@ -264,22 +265,53 @@ async function loadCoValueFromPeers(
|
||||
peers: PeerState[],
|
||||
) {
|
||||
for (const peer of peers) {
|
||||
if (coValueEntry.state.type === "loading") {
|
||||
await peer.pushOutgoingMessage({
|
||||
action: "load",
|
||||
id: coValueEntry.id,
|
||||
header: false,
|
||||
sessions: {},
|
||||
});
|
||||
} else if (coValueEntry.state.type === "available") {
|
||||
await peer.pushOutgoingMessage({
|
||||
action: "load",
|
||||
...coValueEntry.state.coValue.knownState(),
|
||||
});
|
||||
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);
|
||||
});
|
||||
} 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);
|
||||
});
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -451,12 +451,17 @@ export class SyncManager {
|
||||
dependencyEntry.state.type === "available" ||
|
||||
dependencyEntry.state.type === "loading"
|
||||
) {
|
||||
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,
|
||||
);
|
||||
});
|
||||
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,
|
||||
);
|
||||
});
|
||||
} else {
|
||||
throw new Error(
|
||||
"Expected coValue dependency entry to be created, missing subscribe?",
|
||||
@@ -713,8 +718,8 @@ export class SyncManager {
|
||||
const unsubscribe =
|
||||
this.syncStateSubscriptionManager.subscribeToPeerUpdates(
|
||||
peerId,
|
||||
(knownState, uploadCompleted) => {
|
||||
if (uploadCompleted && knownState.id === id) {
|
||||
(knownState, syncState) => {
|
||||
if (syncState.isUploaded && knownState.id === id) {
|
||||
resolve(true);
|
||||
unsubscribe?.();
|
||||
}
|
||||
|
||||
@@ -57,6 +57,36 @@ 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();
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
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";
|
||||
@@ -29,7 +33,7 @@ describe("SyncStateSubscriptionManager", () => {
|
||||
|
||||
const subscriptionManager = client.syncManager.syncStateSubscriptionManager;
|
||||
|
||||
const updateSpy = vi.fn();
|
||||
const updateSpy: GlobalSyncStateListenerCallback = vi.fn();
|
||||
const unsubscribe = subscriptionManager.subscribeToUpdates(updateSpy);
|
||||
|
||||
await client.syncManager.actuallySyncCoValue(map.core);
|
||||
@@ -37,7 +41,7 @@ describe("SyncStateSubscriptionManager", () => {
|
||||
expect(updateSpy).toHaveBeenCalledWith(
|
||||
"jazzCloudConnection",
|
||||
emptyKnownState(map.core.id),
|
||||
false,
|
||||
{ isUploaded: false },
|
||||
);
|
||||
|
||||
await waitFor(() => {
|
||||
@@ -52,7 +56,7 @@ describe("SyncStateSubscriptionManager", () => {
|
||||
client.syncManager.peers["jazzCloudConnection"]!.knownStates.get(
|
||||
map.core.id,
|
||||
)!,
|
||||
true,
|
||||
{ isUploaded: true },
|
||||
);
|
||||
|
||||
// Cleanup
|
||||
@@ -90,8 +94,8 @@ describe("SyncStateSubscriptionManager", () => {
|
||||
|
||||
const subscriptionManager = client.syncManager.syncStateSubscriptionManager;
|
||||
|
||||
const updateToJazzCloudSpy = vi.fn();
|
||||
const updateToStorageSpy = vi.fn();
|
||||
const updateToJazzCloudSpy: PeerSyncStateListenerCallback = vi.fn();
|
||||
const updateToStorageSpy: PeerSyncStateListenerCallback = vi.fn();
|
||||
const unsubscribe1 = subscriptionManager.subscribeToPeerUpdates(
|
||||
"jazzCloudConnection",
|
||||
updateToJazzCloudSpy,
|
||||
@@ -110,7 +114,7 @@ describe("SyncStateSubscriptionManager", () => {
|
||||
|
||||
expect(updateToJazzCloudSpy).toHaveBeenCalledWith(
|
||||
emptyKnownState(map.core.id),
|
||||
false,
|
||||
{ isUploaded: false },
|
||||
);
|
||||
|
||||
await waitFor(() => {
|
||||
@@ -124,12 +128,12 @@ describe("SyncStateSubscriptionManager", () => {
|
||||
client.syncManager.peers["jazzCloudConnection"]!.knownStates.get(
|
||||
map.core.id,
|
||||
)!,
|
||||
true,
|
||||
{ isUploaded: true },
|
||||
);
|
||||
|
||||
expect(updateToStorageSpy).toHaveBeenLastCalledWith(
|
||||
emptyKnownState(map.core.id),
|
||||
false,
|
||||
{ isUploaded: false },
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -388,6 +388,79 @@ 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(
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- jazz-browser@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"name": "jazz-browser-auth-clerk",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:0.8.27",
|
||||
"jazz-browser": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27"
|
||||
"cojson": "workspace:0.8.31",
|
||||
"jazz-browser": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31"
|
||||
},
|
||||
"scripts": {
|
||||
"format-and-lint": "biome check .",
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# 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
|
||||
|
||||
- jazz-browser@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-browser-media-images",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"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.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-browser": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"pica": "^9.0.1",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,47 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- cojson-storage-indexeddb@0.8.28
|
||||
- cojson-transport-ws@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"name": "jazz-browser",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@scure/bip39": "^1.3.0",
|
||||
"cojson": "workspace:0.8.27",
|
||||
"cojson-storage-indexeddb": "workspace:0.8.27",
|
||||
"cojson-transport-ws": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"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",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LSMStorage, Peer, RawAccountID } from "cojson";
|
||||
import { LSMStorage, LocalNode, Peer, RawAccountID } from "cojson";
|
||||
import { IDBStorage } from "cojson-storage-indexeddb";
|
||||
import {
|
||||
Account,
|
||||
@@ -64,12 +64,15 @@ 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) => {
|
||||
node.syncManager.addPeer(peer);
|
||||
if (node) {
|
||||
node.syncManager.addPeer(peer);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
@@ -106,7 +109,7 @@ export async function createJazzBrowserContext<Acc extends Account>(
|
||||
peersToLoadFrom,
|
||||
});
|
||||
|
||||
const node =
|
||||
node =
|
||||
"account" in context ? context.account._raw.core.node : context.agent.node;
|
||||
|
||||
return "account" in context
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- cojson-transport-ws@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
"types": "src/index.ts",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:0.8.27",
|
||||
"cojson-transport-ws": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"cojson": "workspace:0.8.31",
|
||||
"cojson-transport-ws": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"ws": "^8.14.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,5 +1,47 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- jazz-browser-auth-clerk@0.8.28
|
||||
- jazz-react@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "jazz-react-auth-clerk",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.tsx",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:0.8.27",
|
||||
"jazz-browser-auth-clerk": "workspace:0.8.27",
|
||||
"jazz-react": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27"
|
||||
"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"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^18.2.0"
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
# 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
|
||||
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react-native-media-images",
|
||||
"version": "0.8.19",
|
||||
"version": "0.8.23",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- cojson-transport-ws@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react-native",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- jazz-browser@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "jazz-react",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@scure/bip39": "^1.3.0",
|
||||
"cojson": "workspace:0.8.27",
|
||||
"jazz-browser": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.27"
|
||||
"cojson": "workspace:0.8.31",
|
||||
"jazz-browser": "workspace:0.8.31",
|
||||
"jazz-tools": "workspace:0.8.31"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^18.2.19",
|
||||
|
||||
@@ -1,5 +1,47 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- cojson-storage-sqlite@0.8.28
|
||||
- cojson-transport-ws@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"bin": "./dist/index.js",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"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.27",
|
||||
"cojson-storage-sqlite": "workspace:0.8.27",
|
||||
"cojson-transport-ws": "workspace:0.8.27",
|
||||
"cojson": "workspace:0.8.31",
|
||||
"cojson-storage-sqlite": "workspace:0.8.31",
|
||||
"cojson-transport-ws": "workspace:0.8.31",
|
||||
"effect": "^3.6.5",
|
||||
"jazz-tools": "workspace:0.8.27",
|
||||
"jazz-tools": "workspace:0.8.31",
|
||||
"ws": "^8.14.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,5 +1,35 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
|
||||
## 0.8.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
},
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.8.27",
|
||||
"version": "0.8.31",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:*",
|
||||
"fast-check": "^3.17.2"
|
||||
|
||||
@@ -59,34 +59,92 @@ export type SingleCoFeedEntry<Item> = {
|
||||
/** @deprecated Use CoFeed instead */
|
||||
export { CoFeed as CoStream };
|
||||
|
||||
/** @category CoValues */
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
/**
|
||||
* CoFeeds are collaborative logs of data.
|
||||
*
|
||||
* @categoryDescription Content
|
||||
* They are similar to `CoList`s, but with a few key differences:
|
||||
* - They are append-only
|
||||
* - They consist of several internal append-only logs, one per account session (tab, device, app instance, etc.)
|
||||
* - They expose those as a per-account aggregated view (default) or a precise per-session view
|
||||
*
|
||||
* ```ts
|
||||
* favDog.push("Poodle");
|
||||
* favDog.push("Schnowzer");
|
||||
* ```
|
||||
*
|
||||
* @category CoValues
|
||||
*/
|
||||
export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
/**
|
||||
* Declare a `CoFeed` by subclassing `CoFeed.Of(...)` and passing the item schema using a `co` primitive or a `co.ref`.
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* class ColorFeed extends CoFeed.Of(co.string) {}
|
||||
* class AnimalFeed extends CoFeed.Of(co.ref(Animal)) {}
|
||||
* ```
|
||||
*
|
||||
* @category Declaration
|
||||
*/
|
||||
static Of<Item>(item: IfCo<Item, Item>): typeof CoFeed<Item> {
|
||||
return class CoFeedOf extends CoFeed<Item> {
|
||||
[co.items] = item;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* The ID of this `CoFeed`
|
||||
* @category Content */
|
||||
declare id: ID<this>;
|
||||
/** @category Type Helpers */
|
||||
declare _type: "CoStream";
|
||||
static {
|
||||
this.prototype._type = "CoStream";
|
||||
}
|
||||
/** @category Internals */
|
||||
declare _raw: RawCoStream;
|
||||
|
||||
/** @internal This is only a marker type and doesn't exist at runtime */
|
||||
[ItemsSym]!: Item;
|
||||
/** @internal */
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
static _schema: any;
|
||||
/** @internal */
|
||||
get _schema(): {
|
||||
[ItemsSym]: SchemaFor<Item>;
|
||||
} {
|
||||
return (this.constructor as typeof CoFeed)._schema;
|
||||
}
|
||||
|
||||
/**
|
||||
* The per-account view of this `CoFeed`
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* // Access entries directly by account ID
|
||||
* const aliceEntries = feed[aliceAccount.id];
|
||||
* console.log(aliceEntries.value); // Latest value from Alice
|
||||
*
|
||||
* // Iterate through all accounts' entries
|
||||
* for (const [accountId, entries] of Object.entries(feed)) {
|
||||
* console.log(`Latest entry from ${accountId}:`, entries.value);
|
||||
*
|
||||
* // Access all entries from this account
|
||||
* for (const entry of entries.all) {
|
||||
* console.log(`Entry made at ${entry.madeAt}:`, entry.value);
|
||||
* }
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* @category Content
|
||||
*/
|
||||
[key: ID<Account>]: CoFeedEntry<Item>;
|
||||
|
||||
/**
|
||||
* The current account's view of this `CoFeed`
|
||||
* @category Content
|
||||
*/
|
||||
get byMe(): CoFeedEntry<Item> | undefined {
|
||||
if (this._loadedAs._type === "Account") {
|
||||
return this[this._loadedAs.id];
|
||||
@@ -94,9 +152,22 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The per-session view of this `CoFeed`
|
||||
* @category Content
|
||||
*/
|
||||
perSession!: {
|
||||
[key: SessionID]: CoFeedEntry<Item>;
|
||||
};
|
||||
|
||||
/**
|
||||
* The current session's view of this `CoFeed`
|
||||
*
|
||||
* This is a shortcut for `this.perSession` where the session ID is the current session ID.
|
||||
*
|
||||
* @category Content
|
||||
*/
|
||||
get inCurrentSession(): CoFeedEntry<Item> | undefined {
|
||||
if (this._loadedAs._type === "Account") {
|
||||
return this.perSession[this._loadedAs.sessionID!];
|
||||
@@ -125,6 +196,10 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
return new Proxy(this, CoStreamProxyHandler as ProxyHandler<this>);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new `CoFeed`
|
||||
* @category Creation
|
||||
*/
|
||||
static create<S extends CoFeed>(
|
||||
this: CoValueClass<S>,
|
||||
init: S extends CoFeed<infer Item> ? UnCo<Item>[] : never,
|
||||
@@ -147,6 +222,26 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Push items to this `CoFeed`
|
||||
*
|
||||
* Items are appended to the current session's log. Each session (tab, device, app instance)
|
||||
* maintains its own append-only log, which is then aggregated into the per-account view.
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* // Adds items to current session's log
|
||||
* feed.push("item1", "item2");
|
||||
*
|
||||
* // View items from current session
|
||||
* console.log(feed.inCurrentSession);
|
||||
*
|
||||
* // View aggregated items from all sessions for current account
|
||||
* console.log(feed.byMe);
|
||||
* ```
|
||||
*
|
||||
* @category Content
|
||||
*/
|
||||
push(...items: Item[]) {
|
||||
for (const item of items) {
|
||||
this.pushItem(item);
|
||||
@@ -165,6 +260,10 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a JSON representation of the `CoFeed`
|
||||
* @category
|
||||
*/
|
||||
toJSON(): {
|
||||
id: string;
|
||||
_type: "CoStream";
|
||||
@@ -197,6 +296,7 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
};
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
[inspect](): {
|
||||
id: string;
|
||||
_type: "CoStream";
|
||||
@@ -206,6 +306,7 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
return this.toJSON();
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
static schema<V extends CoFeed>(
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
this: { new (...args: any): V } & typeof CoFeed,
|
||||
@@ -215,7 +316,10 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
Object.assign(this._schema, def);
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
/**
|
||||
* Load a `CoFeed`
|
||||
* @category Subscription & Loading
|
||||
*/
|
||||
static load<S extends CoFeed, Depth>(
|
||||
this: CoValueClass<S>,
|
||||
id: ID<S>,
|
||||
@@ -225,7 +329,10 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
return loadCoValue(this, id, as, depth);
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
/**
|
||||
* Subscribe to a `CoFeed`, when you have an ID but don't have a `CoFeed` instance yet
|
||||
* @category Subscription & Loading
|
||||
*/
|
||||
static subscribe<S extends CoFeed, Depth>(
|
||||
this: CoValueClass<S>,
|
||||
id: ID<S>,
|
||||
@@ -236,7 +343,13 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
return subscribeToCoValue<S, Depth>(this, id, as, depth, listener);
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
/**
|
||||
* Ensure a `CoFeed` is loaded to the specified depth
|
||||
*
|
||||
* @returns A new instance of the same CoFeed that's loaded to the specified depth,
|
||||
* or undefined if it cannot be loaded that deeply
|
||||
* @category Subscription & Loading
|
||||
*/
|
||||
ensureLoaded<S extends CoFeed, Depth>(
|
||||
this: S,
|
||||
depth: Depth & DepthsIn<S>,
|
||||
@@ -244,7 +357,12 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
return ensureCoValueLoaded(this, depth);
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
/**
|
||||
* An instance method to subscribe to an existing `CoFeed`
|
||||
*
|
||||
* No need to provide an ID or Account since they're already part of the instance.
|
||||
* @category Subscription & Loading
|
||||
*/
|
||||
subscribe<S extends CoFeed, Depth>(
|
||||
this: S,
|
||||
depth: Depth & DepthsIn<S>,
|
||||
@@ -254,6 +372,10 @@ export class CoFeed<Item = any> extends CoValueBase implements CoValue {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a raw stream entry into a formatted CoFeed entry with proper typing and accessors.
|
||||
* @internal
|
||||
*/
|
||||
function entryFromRawEntry<Item>(
|
||||
accessFrom: CoValue,
|
||||
rawEntry: {
|
||||
@@ -316,6 +438,10 @@ function entryFromRawEntry<Item>(
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* The proxy handler for `CoFeed` instances
|
||||
* @internal
|
||||
*/
|
||||
export const CoStreamProxyHandler: ProxyHandler<CoFeed> = {
|
||||
get(target, key, receiver) {
|
||||
if (typeof key === "string" && key.startsWith("co_")) {
|
||||
@@ -404,6 +530,10 @@ export const CoStreamProxyHandler: ProxyHandler<CoFeed> = {
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* The proxy handler for the per-session view of a `CoFeed`
|
||||
* @internal
|
||||
*/
|
||||
const CoStreamPerSessionProxyHandler = (
|
||||
innerTarget: CoFeed,
|
||||
accessFrom: CoFeed,
|
||||
@@ -469,13 +599,34 @@ const CoStreamPerSessionProxyHandler = (
|
||||
},
|
||||
});
|
||||
|
||||
/** @deprecated Use CoFeed instead */
|
||||
/** @deprecated Use FileStream instead */
|
||||
export { FileStream as BinaryCoStream };
|
||||
|
||||
/** @category CoValues */
|
||||
/**
|
||||
* FileStreams are `CoFeed`s that contain binary data, collaborative versions of `Blob`s.
|
||||
*
|
||||
* @categoryDescription Declaration
|
||||
* `FileStream` can be referenced in schemas.
|
||||
*
|
||||
* ```ts
|
||||
* import { co, FileStream } from "jazz-tools";
|
||||
*
|
||||
* class MyCoMap extends CoMap {
|
||||
* file = co.ref(FileStream);
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* @category CoValues
|
||||
*/
|
||||
export class FileStream extends CoValueBase implements CoValue {
|
||||
/**
|
||||
* The ID of this `FileStream`
|
||||
* @category Content
|
||||
*/
|
||||
declare id: ID<this>;
|
||||
/** @category Type Helpers */
|
||||
declare _type: "BinaryCoStream";
|
||||
/** @internal */
|
||||
declare _raw: RawBinaryCoStream;
|
||||
|
||||
constructor(
|
||||
@@ -552,6 +703,11 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
return new Blob(chunks.chunks, { type: chunks.mimeType });
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a `FileStream` as a `Blob`
|
||||
*
|
||||
* @category Content
|
||||
*/
|
||||
static async loadAsBlob(
|
||||
id: ID<FileStream>,
|
||||
as: Account,
|
||||
@@ -581,6 +737,17 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a `FileStream` from a `Blob` or `File`
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* import { co, FileStream } from "jazz-tools";
|
||||
*
|
||||
* const fileStream = await FileStream.createFromBlob(file, {owner: group})
|
||||
* ```
|
||||
* @category Content
|
||||
*/
|
||||
static async createFromBlob(
|
||||
blob: Blob | File,
|
||||
options: {
|
||||
@@ -626,6 +793,10 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
return stream;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a JSON representation of the `FileStream`
|
||||
* @category Content
|
||||
*/
|
||||
toJSON(): {
|
||||
id: string;
|
||||
_type: "BinaryCoStream";
|
||||
@@ -642,11 +813,15 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
};
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
[inspect]() {
|
||||
return this.toJSON();
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
/**
|
||||
* Load a `FileStream`
|
||||
* @category Subscription & Loading
|
||||
*/
|
||||
static load<B extends FileStream, Depth>(
|
||||
this: CoValueClass<B>,
|
||||
id: ID<B>,
|
||||
@@ -656,7 +831,10 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
return loadCoValue(this, id, as, depth);
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
/**
|
||||
* Subscribe to a `FileStream`, when you have an ID but don't have a `FileStream` instance yet
|
||||
* @category Subscription & Loading
|
||||
*/
|
||||
static subscribe<B extends FileStream, Depth>(
|
||||
this: CoValueClass<B>,
|
||||
id: ID<B>,
|
||||
@@ -667,7 +845,6 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
return subscribeToCoValue<B, Depth>(this, id, as, depth, listener);
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
ensureLoaded<B extends FileStream, Depth>(
|
||||
this: B,
|
||||
depth: Depth & DepthsIn<B>,
|
||||
@@ -675,7 +852,10 @@ export class FileStream extends CoValueBase implements CoValue {
|
||||
return ensureCoValueLoaded(this, depth);
|
||||
}
|
||||
|
||||
/** @category Subscription & Loading */
|
||||
/**
|
||||
* An instance method to subscribe to an existing `FileStream`
|
||||
* @category Subscription & Loading
|
||||
*/
|
||||
subscribe<B extends FileStream, Depth>(
|
||||
this: B,
|
||||
depth: Depth & DepthsIn<B>,
|
||||
|
||||
@@ -251,6 +251,10 @@ export class CoMap extends CoValueBase implements CoValue {
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a JSON representation of the `CoMap`
|
||||
* @category Content
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
toJSON(_key?: string, seenAbove?: ID<CoValue>[]): any[] {
|
||||
const jsonedFields = this._raw.keys().map((key) => {
|
||||
@@ -288,7 +292,10 @@ export class CoMap extends CoValueBase implements CoValue {
|
||||
return this.toJSON();
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
/**
|
||||
* Create a new `RawCoMap` from an initialization object
|
||||
* @internal
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
rawFromInit<Fields extends object = Record<string, any>>(
|
||||
init: Simplify<CoMapInit<Fields>> | undefined,
|
||||
|
||||
@@ -58,7 +58,18 @@ export function isCoValueClass<V extends CoValue>(
|
||||
return typeof value === "function" && value.fromRaw !== undefined;
|
||||
}
|
||||
|
||||
/** @category CoValues */
|
||||
/**
|
||||
* IDs are unique identifiers for `CoValue`s.
|
||||
* Can be used with a type argument to refer to a specific `CoValue` type.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* ```ts
|
||||
* type AccountID = ID<Account>;
|
||||
* ```
|
||||
*
|
||||
* @category CoValues
|
||||
*/
|
||||
export type ID<T> = CojsonInternalTypes.RawCoID & IDMarker<T>;
|
||||
|
||||
type IDMarker<out T> = { __type(_: never): T };
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# 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
|
||||
|
||||
- Updated dependencies [605734c]
|
||||
- cojson@0.8.28
|
||||
- jazz-browser@0.8.28
|
||||
- jazz-tools@0.8.28
|
||||
|
||||
## 0.8.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-vue",
|
||||
"version": "0.8.15",
|
||||
"version": "0.8.19",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
162
pnpm-lock.yaml
generated
162
pnpm-lock.yaml
generated
@@ -34,8 +34,8 @@ importers:
|
||||
specifier: ^10.9.1
|
||||
version: 10.9.2(@swc/core@1.7.22)(@types/node@22.5.1)(typescript@5.6.2)
|
||||
turbo:
|
||||
specifier: ^1.11.2
|
||||
version: 1.11.2
|
||||
specifier: ^2.3.1
|
||||
version: 2.3.1
|
||||
typedoc:
|
||||
specifier: ^0.25.13
|
||||
version: 0.25.13(typescript@5.6.2)
|
||||
@@ -46,7 +46,7 @@ importers:
|
||||
e2e/BinaryCoStream:
|
||||
dependencies:
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
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.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
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.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-browser-media-images
|
||||
jazz-react:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-tools
|
||||
next:
|
||||
specifier: 14.2.5
|
||||
@@ -205,16 +205,16 @@ importers:
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/cojson
|
||||
hash-slash:
|
||||
specifier: workspace:0.2.1
|
||||
version: link:../../packages/hash-slash
|
||||
jazz-react:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-tools
|
||||
lucide-react:
|
||||
specifier: ^0.274.0
|
||||
@@ -302,19 +302,19 @@ importers:
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/cojson
|
||||
hash-slash:
|
||||
specifier: workspace:0.2.1
|
||||
version: link:../../packages/hash-slash
|
||||
jazz-react:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-react-auth-clerk:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react-auth-clerk
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-tools
|
||||
lucide-react:
|
||||
specifier: ^0.274.0
|
||||
@@ -732,10 +732,10 @@ importers:
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/cojson
|
||||
cojson-transport-ws:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/cojson-transport-ws
|
||||
hash-slash:
|
||||
specifier: workspace:0.2.1
|
||||
@@ -808,7 +808,7 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-react-auth-clerk:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
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.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-tools
|
||||
lucide-react:
|
||||
specifier: ^0.274.0
|
||||
@@ -1007,10 +1007,10 @@ importers:
|
||||
examples/password-manager:
|
||||
dependencies:
|
||||
jazz-react:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-tools
|
||||
react:
|
||||
specifier: 18.3.1
|
||||
@@ -1071,13 +1071,13 @@ importers:
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0
|
||||
jazz-browser-media-images:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-browser-media-images
|
||||
jazz-react:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-tools
|
||||
lucide-react:
|
||||
specifier: ^0.274.0
|
||||
@@ -1132,7 +1132,7 @@ importers:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1
|
||||
jazz-run:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-run
|
||||
postcss:
|
||||
specifier: ^8.4.27
|
||||
@@ -1170,10 +1170,10 @@ importers:
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0
|
||||
jazz-react:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-react
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../../packages/jazz-tools
|
||||
lucide-react:
|
||||
specifier: ^0.274.0
|
||||
@@ -1335,7 +1335,7 @@ importers:
|
||||
packages/cojson-storage-indexeddb:
|
||||
dependencies:
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson
|
||||
devDependencies:
|
||||
'@vitest/browser':
|
||||
@@ -1360,7 +1360,7 @@ importers:
|
||||
specifier: ^8.5.2
|
||||
version: 8.7.0
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson
|
||||
typescript:
|
||||
specifier: ^5.3.3
|
||||
@@ -1373,7 +1373,7 @@ importers:
|
||||
packages/cojson-transport-ws:
|
||||
dependencies:
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
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.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson
|
||||
cojson-storage-indexeddb:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson-storage-indexeddb
|
||||
cojson-transport-ws:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson-transport-ws
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
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.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson
|
||||
jazz-browser:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../jazz-browser
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
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.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../jazz-browser
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../jazz-tools
|
||||
pica:
|
||||
specifier: ^9.0.1
|
||||
@@ -1460,13 +1460,13 @@ importers:
|
||||
packages/jazz-nodejs:
|
||||
dependencies:
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson
|
||||
cojson-transport-ws:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson-transport-ws
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
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.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson
|
||||
jazz-browser:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../jazz-browser
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../jazz-tools
|
||||
devDependencies:
|
||||
'@types/react':
|
||||
@@ -1510,16 +1510,16 @@ importers:
|
||||
packages/jazz-react-auth-clerk:
|
||||
dependencies:
|
||||
cojson:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson
|
||||
jazz-browser-auth-clerk:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../jazz-browser-auth-clerk
|
||||
jazz-react:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../jazz-react
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
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.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson
|
||||
cojson-storage-sqlite:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson-storage-sqlite
|
||||
cojson-transport-ws:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../cojson-transport-ws
|
||||
effect:
|
||||
specifier: ^3.6.5
|
||||
version: 3.6.5
|
||||
jazz-tools:
|
||||
specifier: workspace:0.8.27
|
||||
specifier: workspace:0.8.31
|
||||
version: link:../jazz-tools
|
||||
ws:
|
||||
specifier: ^8.14.2
|
||||
@@ -9939,41 +9939,41 @@ packages:
|
||||
tunnel-agent@0.6.0:
|
||||
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
||||
|
||||
turbo-darwin-64@1.11.2:
|
||||
resolution: {integrity: sha512-toFmRG/adriZY3hOps7nYCfqHAS+Ci6xqgX3fbo82kkLpC6OBzcXnleSwuPqjHVAaRNhVoB83L5njcE9Qwi2og==}
|
||||
turbo-darwin-64@2.3.1:
|
||||
resolution: {integrity: sha512-tjHfjW/Gs8Q9IO+9gPdIsSStZ8I09QYDRT/SyhFTPLnc7O2ZlxHPBVFfjUkHUjanHNYO8CpRGt+zdp1PaMCruw==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
turbo-darwin-arm64@1.11.2:
|
||||
resolution: {integrity: sha512-FCsEDZ8BUSFYEOSC3rrARQrj7x2VOrmVcfrMUIhexTxproRh4QyMxLfr6LALk4ymx6jbDCxWa6Szal8ckldFbA==}
|
||||
turbo-darwin-arm64@2.3.1:
|
||||
resolution: {integrity: sha512-At1WStnxCfrBQ4M2g6ynre8WsusGwA11okhVolBxyFUemYozDTtbZwelr+IqNggjT251vviokxOkcFzzogbiFw==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
turbo-linux-64@1.11.2:
|
||||
resolution: {integrity: sha512-Vzda/o/QyEske5CxLf0wcu7UUS+7zB90GgHZV4tyN+WZtoouTvbwuvZ3V6b5Wgd3OJ/JwWR0CXDK7Sf4VEMr7A==}
|
||||
turbo-linux-64@2.3.1:
|
||||
resolution: {integrity: sha512-COwEev7s9fsxLM2eoRCyRLPj+BXvZjFIS+GxzdAubYhoSoZit8B8QGKczyDl6448xhuFEWKrpHhcR9aBuwB4ag==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
turbo-linux-arm64@1.11.2:
|
||||
resolution: {integrity: sha512-bRLwovQRz0yxDZrM4tQEAYV0fBHEaTzUF0JZ8RG1UmZt/CqtpnUrJpYb1VK8hj1z46z9YehARpYCwQ2K0qU4yw==}
|
||||
turbo-linux-arm64@2.3.1:
|
||||
resolution: {integrity: sha512-AP0uE15Rhxza2Jl+Q3gxdXRA92IIeFAYaufz6CMcZuGy9yZsBlLt9w6T47H6g7XQPzWuw8pzfjM1omcTKkkDpQ==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
turbo-stream@2.4.0:
|
||||
resolution: {integrity: sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==}
|
||||
|
||||
turbo-windows-64@1.11.2:
|
||||
resolution: {integrity: sha512-LgTWqkHAKgyVuLYcEPxZVGPInTjjeCnN5KQMdJ4uQZ+xMDROvMFS2rM93iQl4ieDJgidwHCxxCxaU9u8c3d/Kg==}
|
||||
turbo-windows-64@2.3.1:
|
||||
resolution: {integrity: sha512-HDSneq0dNZYZch74c2eygq+OiJE/JYDs7OsGM0yRYVj336383xkUnxz6W2I7qiyMCQXzp4UVUDZXvZhUYcX3BA==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
turbo-windows-arm64@1.11.2:
|
||||
resolution: {integrity: sha512-829aVBU7IX0c/B4G7g1VI8KniAGutHhIupkYMgF6xPkYVev2G3MYe6DMS/vsLt9GGM9ulDtdWxWrH5P2ngK8IQ==}
|
||||
turbo-windows-arm64@2.3.1:
|
||||
resolution: {integrity: sha512-7/2/sJZiquwoT/jWBCfV0qKq4NarsJPmDRjMcR9dDMIwCYsGM8ljomkDRTCtkNeFcUvYw54MiRWHehWgbcRPsw==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
turbo@1.11.2:
|
||||
resolution: {integrity: sha512-jPC7LVQJzebs5gWf8FmEvsvXGNyKbN+O9qpvv98xpNaM59aS0/Irhd0H0KbcqnXfsz7ETlzOC3R+xFWthC4Z8A==}
|
||||
turbo@2.3.1:
|
||||
resolution: {integrity: sha512-vHZe/e6k1HZVKiMQPQ1BWFn53vjVQDFKdkjUq/pBKlRWi1gw9LQO6ntH4qZCcHY1rH6TXgsRmexXdgWl96YvVQ==}
|
||||
hasBin: true
|
||||
|
||||
type-check@0.4.0:
|
||||
@@ -20671,34 +20671,34 @@ snapshots:
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
|
||||
turbo-darwin-64@1.11.2:
|
||||
turbo-darwin-64@2.3.1:
|
||||
optional: true
|
||||
|
||||
turbo-darwin-arm64@1.11.2:
|
||||
turbo-darwin-arm64@2.3.1:
|
||||
optional: true
|
||||
|
||||
turbo-linux-64@1.11.2:
|
||||
turbo-linux-64@2.3.1:
|
||||
optional: true
|
||||
|
||||
turbo-linux-arm64@1.11.2:
|
||||
turbo-linux-arm64@2.3.1:
|
||||
optional: true
|
||||
|
||||
turbo-stream@2.4.0: {}
|
||||
|
||||
turbo-windows-64@1.11.2:
|
||||
turbo-windows-64@2.3.1:
|
||||
optional: true
|
||||
|
||||
turbo-windows-arm64@1.11.2:
|
||||
turbo-windows-arm64@2.3.1:
|
||||
optional: true
|
||||
|
||||
turbo@1.11.2:
|
||||
turbo@2.3.1:
|
||||
optionalDependencies:
|
||||
turbo-darwin-64: 1.11.2
|
||||
turbo-darwin-arm64: 1.11.2
|
||||
turbo-linux-64: 1.11.2
|
||||
turbo-linux-arm64: 1.11.2
|
||||
turbo-windows-64: 1.11.2
|
||||
turbo-windows-arm64: 1.11.2
|
||||
turbo-darwin-64: 2.3.1
|
||||
turbo-darwin-arm64: 2.3.1
|
||||
turbo-linux-64: 2.3.1
|
||||
turbo-linux-arm64: 2.3.1
|
||||
turbo-windows-64: 2.3.1
|
||||
turbo-windows-arm64: 2.3.1
|
||||
|
||||
type-check@0.4.0:
|
||||
dependencies:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"$schema": "https://turbo.build/schema.json",
|
||||
"pipeline": {
|
||||
"remoteCache": {},
|
||||
"tasks": {
|
||||
"build": {
|
||||
"dependsOn": ["^build"],
|
||||
"outputs": ["dist/**"]
|
||||
|
||||
Reference in New Issue
Block a user