Compare commits

...

21 Commits

Author SHA1 Message Date
Marina Orlova
b38f902d70 Add backward-compatible aliases for CoFeed* 2024-11-14 22:30:58 +01:00
Marina Orlova
a6085094a7 Rename CoStream -> CoFeed in jazz-tools 2024-11-14 18:57:44 +01:00
Anselm Eickhoff
d89da07d42 Merge pull request #753 from gardencmp/bensleveritt-patch-1
Fix mesh reference
2024-11-14 11:37:46 +00:00
pax
94098c1f1f Merge pull request #755 from gardencmp/JAZZ-485-docs-pin-react-native-deps
Updated react-native docs and removed babel config section
2024-11-14 12:07:25 +02:00
pax-k
e71e83a217 Merge branch 'main' into JAZZ-485-docs-pin-react-native-deps 2024-11-14 11:58:30 +02:00
pax-k
df0b21caed chore: pnpm lock 2024-11-14 11:58:06 +02:00
Anselm Eickhoff
6921e621d7 Merge pull request #749 from gardencmp/changeset-release/main
Version Packages
2024-11-14 09:41:28 +00:00
pax-k
ec9e03c266 fix: updated react-native docs and removed babel config section 2024-11-14 11:40:27 +02:00
github-actions[bot]
1b0ef401fb Version Packages 2024-11-14 09:29:38 +00:00
pax
1833983b8d Merge pull request #754 from gardencmp/jazz-tools-ts-target
Change jazz-tools TS target to ES2021
2024-11-14 11:28:21 +02:00
pax-k
149ca97c48 chore: changeset 2024-11-14 11:15:25 +02:00
pax-k
f01a7621b0 fix: change jazz-tools TS target to ES2021 2024-11-14 11:13:13 +02:00
Benjamin S. Leveritt
e6a1e2f169 Fix mesh reference 2024-11-14 06:32:10 +00:00
Anselm Eickhoff
ec7c416097 Merge pull request #744 from gardencmp/better-known-state
fix: dispatch more updates to knownState
2024-11-13 14:16:50 +00:00
Guido D'Orsi
0f30eeaec6 chore: changeset 2024-11-13 15:12:18 +01:00
Guido D'Orsi
5a3cf04ba7 fix: dispatch more updates to knownState 2024-11-13 12:32:24 +01:00
Anselm Eickhoff
d6e744d948 Merge pull request #738 from gardencmp/changeset-release/main 2024-11-12 22:11:31 +00:00
github-actions[bot]
23b3acb58c Version Packages 2024-11-12 22:10:32 +00:00
Anselm Eickhoff
f32d0c1fad Merge pull request #743 from gardencmp/fix/react-provider-multiple-storage
fix: fixes the react provider intialization when multiple storage options are provided
2024-11-12 22:09:16 +00:00
Guido D'Orsi
a69ed0b7cd chore: changeset 2024-11-12 22:43:19 +01:00
Guido D'Orsi
b4d7024b98 fix: fixes the react provider intialization when multiple storage options are provided 2024-11-12 22:42:27 +01:00
82 changed files with 796 additions and 393 deletions

View File

@@ -1,5 +0,0 @@
---
"jazz-react": patch
---
Move auto login check to useEffect

View File

@@ -1,8 +0,0 @@
---
"jazz-react-native-media-images": patch
"cojson-storage-indexeddb": patch
"jazz-react-native": patch
"jazz-react": patch
---
Remove typescript from the direct dependencies

View File

@@ -1,5 +0,0 @@
---
"jazz-react": patch
---
Add user prop to demo auth to skip login on demos

View File

@@ -1,5 +1,25 @@
# @jazz-e2e/binarycostream
## 0.0.99
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- jazz-react@0.8.21
## 0.0.98
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
## 0.0.97
### Patch Changes

View File

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

View File

@@ -1,5 +1,25 @@
# @jazz-e2e/covalues
## 0.0.98
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- jazz-react@0.8.21
## 0.0.97
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
## 0.0.96
### Patch Changes

View File

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

View File

@@ -1,5 +1,25 @@
# jazz-example-book-shelf
## 0.1.14
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-react@0.8.21
- jazz-browser-media-images@0.8.21
## 0.1.13
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
- jazz-browser-media-images@0.8.20
## 0.1.12
### Patch Changes

View File

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

View File

@@ -1,5 +1,27 @@
# jazz-example-chat
## 0.0.98
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- jazz-react@0.8.21
- jazz-react-auth-clerk@0.8.21
## 0.0.97
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
- jazz-react-auth-clerk@0.8.20
## 0.0.96
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-chat-clerk",
"private": true,
"version": "0.0.96",
"version": "0.0.98",
"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.19",
"cojson": "workspace:0.8.21",
"hash-slash": "workspace:0.2.1",
"jazz-react": "workspace:0.8.19",
"jazz-react-auth-clerk": "workspace:0.8.19",
"jazz-tools": "workspace:0.8.19",
"jazz-react": "workspace:0.8.21",
"jazz-react-auth-clerk": "workspace:0.8.21",
"jazz-tools": "workspace:0.8.21",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.2.0",

View File

@@ -1,5 +1,24 @@
# chat-rn-clerk
## 1.0.14
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-react-auth-clerk@0.8.21
- jazz-react-native@0.8.21
- jazz-react-native-media-images@0.8.17
## 1.0.13
### Patch Changes
- Updated dependencies [3ef3ff3]
- jazz-react-native-media-images@0.8.16
- jazz-react-native@0.8.20
- jazz-react-auth-clerk@0.8.20
## 1.0.12
### Patch Changes

View File

@@ -2,6 +2,6 @@ module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: ["nativewind/babel", "@babel/plugin-transform-class-static-block"],
plugins: ["nativewind/babel"],
};
};

View File

@@ -1,7 +1,7 @@
{
"name": "chat-rn-clerk",
"main": "index.js",
"version": "1.0.12",
"version": "1.0.14",
"scripts": {
"build": "expo export -p ios",
"start": "expo start",
@@ -65,7 +65,6 @@
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/plugin-transform-class-static-block": "^7.24.7",
"@types/jest": "^29.5.3",
"@types/react": "^18.2.19",
"@types/react-test-renderer": "^18.0.7",

View File

@@ -1,5 +1,20 @@
# chat-rn
## 1.0.16
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-react-native@0.8.21
## 1.0.15
### Patch Changes
- Updated dependencies [3ef3ff3]
- jazz-react-native@0.8.20
## 1.0.14
### Patch Changes

View File

@@ -2,6 +2,6 @@ module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: ["nativewind/babel", "@babel/plugin-transform-class-static-block"],
plugins: ["nativewind/babel"],
};
};

View File

@@ -1,6 +1,6 @@
{
"name": "chat-rn",
"version": "1.0.14",
"version": "1.0.16",
"main": "index.js",
"scripts": {
"build": "expo export -p ios",
@@ -45,7 +45,6 @@
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/plugin-transform-class-static-block": "^7.24.7",
"@types/react": "^18.2.19",
"tailwindcss": "3.3.2",
"typescript": "^5.3.3"

View File

@@ -1,5 +1,21 @@
# chat-vue
## 0.0.6
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-browser@0.8.21
- jazz-vue@0.8.11
## 0.0.5
### Patch Changes
- jazz-browser@0.8.20
- jazz-vue@0.8.10
## 0.0.4
### Patch Changes

View File

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

View File

@@ -1,5 +1,25 @@
# jazz-example-chat
## 0.0.100
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- jazz-react@0.8.21
## 0.0.99
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
## 0.0.98
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-chat",
"private": true,
"version": "0.0.98",
"version": "0.0.100",
"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.19",
"cojson": "workspace:0.8.21",
"hash-slash": "workspace:0.2.1",
"jazz-react": "workspace:0.8.19",
"jazz-tools": "workspace:0.8.19",
"jazz-react": "workspace:0.8.21",
"jazz-tools": "workspace:0.8.21",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.2.0",

View File

@@ -1,5 +1,13 @@
# jazz-example-inspector
## 0.0.73
### Patch Changes
- Updated dependencies [0f30eea]
- cojson@0.8.21
- cojson-transport-ws@0.8.21
## 0.0.72
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-inspector",
"private": true,
"version": "0.0.72",
"version": "0.0.73",
"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.19",
"cojson-transport-ws": "workspace:0.8.19",
"cojson": "workspace:0.8.21",
"cojson-transport-ws": "workspace:0.8.21",
"hash-slash": "workspace:0.2.1",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",

View File

@@ -1,5 +1,23 @@
# jazz-example-musicplayer
## 0.0.20
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-react@0.8.21
## 0.0.19
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
## 0.0.18
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-music-player",
"private": true,
"version": "0.0.18",
"version": "0.0.20",
"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.19",
"jazz-tools": "workspace:0.8.19",
"jazz-react": "workspace:0.8.21",
"jazz-tools": "workspace:0.8.21",
"lucide-react": "^0.274.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",

View File

@@ -70,7 +70,11 @@ function JazzAndAuth({ children }: { children: React.ReactNode }) {
return (
<>
<Jazz.Provider auth={auth} peer={peer}>
<Jazz.Provider
storage={["singleTabOPFS", "indexedDB"]}
auth={auth}
peer={peer}
>
{children}
</Jazz.Provider>
<DemoAuthBasicUI appName="Jazz Music Player" state={state} />

View File

@@ -1,5 +1,23 @@
# jazz-password-manager
## 0.0.19
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-react@0.8.21
## 0.0.18
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
## 0.0.17
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-password-manager",
"private": true,
"version": "0.0.17",
"version": "0.0.19",
"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.19",
"jazz-tools": "workspace:0.8.19",
"jazz-react": "workspace:0.8.21",
"jazz-tools": "workspace:0.8.21",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.41.5",

View File

@@ -1,5 +1,25 @@
# jazz-example-pets
## 0.0.117
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-react@0.8.21
- jazz-browser-media-images@0.8.21
## 0.0.116
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
- jazz-browser-media-images@0.8.20
## 0.0.115
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-pets",
"private": true,
"version": "0.0.115",
"version": "0.0.117",
"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.19",
"jazz-react": "workspace:0.8.19",
"jazz-tools": "workspace:0.8.19",
"jazz-browser-media-images": "workspace:0.8.21",
"jazz-react": "workspace:0.8.21",
"jazz-tools": "workspace:0.8.21",
"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.19",
"jazz-run": "workspace:0.8.21",
"postcss": "^8.4.27",
"tailwindcss": "3.3.2",
"typescript": "^5.3.3",

View File

@@ -1,8 +1,8 @@
import {
Account,
CoFeed,
CoList,
CoMap,
CoStream,
ImageDefinition,
Profile,
co,
@@ -25,7 +25,7 @@ export const ReactionTypes = [
] as const;
export type ReactionType = (typeof ReactionTypes)[number];
export class PetReactions extends CoStream.Of(co.json<ReactionType>()) {}
export class PetReactions extends CoFeed.Of(co.json<ReactionType>()) {}
export class PetPost extends CoMap {
name = co.string;

View File

@@ -1,5 +1,23 @@
# jazz-example-todo
## 0.0.116
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-react@0.8.21
## 0.0.115
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
## 0.0.114
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-todo",
"private": true,
"version": "0.0.114",
"version": "0.0.116",
"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.19",
"jazz-tools": "workspace:0.8.19",
"jazz-react": "workspace:0.8.21",
"jazz-tools": "workspace:0.8.21",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.2.0",

View File

@@ -102,16 +102,16 @@ For monorepos, use the following metro.config.js:
config.watchFolders = [workspaceRoot];
config.resolver.nodeModulesPaths = [
path.resolve(projectRoot, "node_modules"),
path.resolve(workspaceRoot, "node_modules"),
path.resolve(projectRoot, "node_modules"),
path.resolve(workspaceRoot, "node_modules"),
];
config.resolver.sourceExts = ["mjs", "js", "json", "ts", "tsx"];
config.resolver.unstable_enablePackageExports = true;
config.resolver.requireCycleIgnorePatterns = [/(^|\/|\\)node_modules($|\/|\\)/];
config.cacheStores = [
new FileStore({
root: path.join(projectRoot, "node_modules", ".cache", "metro"),
}),
new FileStore({
root: path.join(projectRoot, "node_modules", ".cache", "metro"),
}),
];
module.exports = config;
@@ -126,38 +126,19 @@ For monorepos, use the following metro.config.js:
<CodeGroup>
```json
"pnpm": {
"peerDependencyRules": {
"ignoreMissing": [
"@babel/*",
"expo-modules-*",
"typescript"
]
}
}
"peerDependencyRules": {
"ignoreMissing": [
"@babel/*",
"expo-modules-*",
"typescript"
]
}
}
```
</CodeGroup>
For more information, refer to [this](https://github.com/byCedric/expo-monorepo-example#pnpm-workarounds) Expo monorepo example.
### Configure Babel
Add `@babel/plugin-transform-class-static-block` to the array of Babel plugins inside `babel.config.js`:
<CodeGroup>
```ts
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
"nativewind/babel",
"@babel/plugin-transform-class-static-block",
],
};
};
```
</CodeGroup>
### Add Polyfills
Create a file `polyfills.js` at the project root with the following content:
@@ -247,9 +228,9 @@ To work with images in Jazz, import the `createImage` function from [`jazz-react
const base64ImageDataURI = "data:image/png;base64,...";
const image = await createImage(base64ImageDataURI, {
owner: newPetPost._owner,
maxSize: 2048, // optional: specify maximum image size
});
owner: newPetPost._owner,
maxSize: 2048, // optional: specify maximum image size
});
someCovalue.image = image;
```

View File

@@ -55,7 +55,7 @@ Currently, the recommended pattern to set up a React app with Jazz is to create
<>
<Jazz.Provider
auth={passkeyAuth}
peer="wss://mesh.jazz.tools/?key=you@example.com"
peer="wss://cloud.jazz.tools/?key=you@example.com"
>
{children}
</Jazz.Provider>

View File

@@ -1,5 +1,18 @@
# cojson-storage-indexeddb
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- cojson@0.8.21
## 0.8.20
### Patch Changes
- 3ef3ff3: Remove typescript from the direct dependencies
## 0.8.19
### Patch Changes

View File

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

View File

@@ -1,5 +1,12 @@
# cojson-storage-sqlite
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- cojson@0.8.21
## 0.8.19
### Patch Changes

View File

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

View File

@@ -1,5 +1,12 @@
# cojson-transport-nodejs-ws
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- cojson@0.8.21
## 0.8.19
### Patch Changes

View File

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

View File

@@ -1,5 +1,11 @@
# cojson
## 0.8.21
### Patch Changes
- 0f30eea: Improved the known state tracking within the PeerState.knownState property
## 0.8.19
### Patch Changes

View File

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

View File

@@ -5,7 +5,7 @@ import {
emptyKnownState,
} from "./sync.js";
type PeerKnownStateActions =
export type PeerKnownStateActions =
| {
type: "SET_AS_EMPTY";
id: RawCoID;

View File

@@ -1,4 +1,4 @@
import { PeerKnownStates } from "./PeerKnownStates.js";
import { PeerKnownStateActions, PeerKnownStates } from "./PeerKnownStates.js";
import {
PriorityBasedMessageQueue,
QueueEntry,
@@ -34,6 +34,11 @@ export class PeerState {
readonly optimisticKnownStates: PeerKnownStates;
readonly toldKnownState: Set<RawCoID> = new Set();
dispatchToKnownStates(action: PeerKnownStateActions) {
this.knownStates.dispatch(action);
this.optimisticKnownStates.dispatch(action);
}
readonly erroredCoValues: Map<RawCoID, TryAddTransactionsError> = new Map();
get id() {

View File

@@ -400,7 +400,7 @@ export class SyncManager {
}
async handleLoad(msg: LoadMessage, peer: PeerState) {
peer.optimisticKnownStates.dispatch({
peer.dispatchToKnownStates({
type: "SET",
id: msg.id,
value: knownStateIn(msg),
@@ -454,7 +454,7 @@ export class SyncManager {
const loaded = await entry.state.ready;
if (loaded === "unavailable") {
peer.optimisticKnownStates.dispatch({
peer.dispatchToKnownStates({
type: "SET",
id: msg.id,
value: knownStateIn(msg),
@@ -481,13 +481,7 @@ export class SyncManager {
async handleKnownState(msg: KnownStateMessage, peer: PeerState) {
let entry = this.local.coValues[msg.id];
peer.optimisticKnownStates.dispatch({
type: "COMBINE_WITH",
id: msg.id,
value: knownStateIn(msg),
});
peer.knownStates.dispatch({
peer.dispatchToKnownStates({
type: "COMBINE_WITH",
id: msg.id,
value: knownStateIn(msg),
@@ -552,7 +546,7 @@ export class SyncManager {
return;
}
peer.optimisticKnownStates.dispatch({
peer.dispatchToKnownStates({
type: "UPDATE_HEADER",
id: msg.id,
header: true,
@@ -645,7 +639,7 @@ export class SyncManager {
continue;
}
peer.optimisticKnownStates.dispatch({
peer.dispatchToKnownStates({
type: "UPDATE_SESSION_COUNTER",
id: msg.id,
sessionId: sessionID,
@@ -688,7 +682,7 @@ export class SyncManager {
}
async handleCorrection(msg: KnownStateMessage, peer: PeerState) {
peer.optimisticKnownStates.dispatch({
peer.dispatchToKnownStates({
type: "SET",
id: msg.id,
value: knownStateIn(msg),

View File

@@ -1,4 +1,5 @@
import { describe, expect, test, vi } from "vitest";
import { PeerKnownStateActions } from "../PeerKnownStates.js";
import { PeerState } from "../PeerState.js";
import { CO_VALUE_PRIORITY } from "../priority.js";
import { Peer, SyncMessage } from "../sync.js";
@@ -15,7 +16,7 @@ function setup() {
close: vi.fn(),
},
};
const peerState = new PeerState(mockPeer);
const peerState = new PeerState(mockPeer, undefined);
return { mockPeer, peerState };
}
@@ -115,4 +116,46 @@ describe("PeerState", () => {
contentMessageMid,
);
});
test("should clone the knownStates into optimisticKnownStates and knownStates when passed as argument", () => {
const { peerState, mockPeer } = setup();
const action: PeerKnownStateActions = {
type: "SET",
id: "co_z1",
value: {
id: "co_z1",
header: false,
sessions: {},
},
};
peerState.dispatchToKnownStates(action);
const newPeerState = new PeerState(mockPeer, peerState.knownStates);
expect(newPeerState.knownStates).toEqual(peerState.knownStates);
expect(newPeerState.optimisticKnownStates).toEqual(peerState.knownStates);
});
test("should dispatch to both states", () => {
const { peerState } = setup();
const knownStatesSpy = vi.spyOn(peerState.knownStates, "dispatch");
const optimisticKnownStatesSpy = vi.spyOn(
peerState.optimisticKnownStates,
"dispatch",
);
const action: PeerKnownStateActions = {
type: "SET",
id: "co_z1",
value: {
id: "co_z1",
header: false,
sessions: {},
},
};
peerState.dispatchToKnownStates(action);
expect(knownStatesSpy).toHaveBeenCalledWith(action);
expect(optimisticKnownStatesSpy).toHaveBeenCalledWith(action);
});
});

View File

@@ -1590,32 +1590,39 @@ function createTwoConnectedNodes() {
describe("SyncManager - knownStates vs optimisticKnownStates", () => {
test("knownStates and optimisticKnownStates are the same when the coValue is fully synced", async () => {
const { client } = createTwoConnectedNodes();
const { client, jazzCloud } = createTwoConnectedNodes();
// Create test data
const group = client.createGroup();
const map = group.createMap();
map.set("key1", "value1", "trusting");
const mapOnClient = group.createMap();
mapOnClient.set("key1", "value1", "trusting");
await client.syncManager.actuallySyncCoValue(map.core);
await client.syncManager.actuallySyncCoValue(mapOnClient.core);
// Wait for the full sync to complete
await waitFor(() => {
return client.syncManager.syncStateSubscriptionManager.getIsCoValueFullyUploadedIntoPeer(
"jazzCloudConnection",
map.core.id,
mapOnClient.core.id,
);
});
const peerState = client.syncManager.peers["jazzCloudConnection"]!;
const peerStateClient = client.syncManager.peers["jazzCloudConnection"]!;
const peerStateJazzCloud =
jazzCloud.syncManager.peers["connectionWithClient"]!;
// The optimisticKnownStates should be the same as the knownStates after the full sync is complete
expect(peerState.optimisticKnownStates.get(map.core.id)).toEqual(
peerState.knownStates.get(map.core.id),
);
expect(
peerStateClient.optimisticKnownStates.get(mapOnClient.core.id),
).toEqual(peerStateClient.knownStates.get(mapOnClient.core.id));
// On the other node the knownStates should be updated correctly based on the messages we received
expect(
peerStateJazzCloud.optimisticKnownStates.get(mapOnClient.core.id),
).toEqual(peerStateJazzCloud.knownStates.get(mapOnClient.core.id));
});
test("optimisticKnownStates is updated as new transactions are received, while knownStates only when the coValue is fully synced", async () => {
test("optimisticKnownStates is updated as new transactions are sent, while knownStates only when the updates are acknowledged", async () => {
const { client, jazzCloudConnectionAsPeer } = createTwoConnectedNodes();
// Create test data and sync the first change

View File

@@ -1,5 +1,21 @@
# jazz-browser-media-images
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- jazz-browser@0.8.21
## 0.8.20
### Patch Changes
- jazz-browser@0.8.20
## 0.8.19
### Patch Changes

View File

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

View File

@@ -1,5 +1,19 @@
# jazz-browser-media-images
## 0.8.21
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
- jazz-browser@0.8.21
## 0.8.20
### Patch Changes
- jazz-browser@0.8.20
## 0.8.19
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-browser-media-images",
"version": "0.8.19",
"version": "0.8.21",
"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.19",
"jazz-tools": "workspace:0.8.19",
"jazz-browser": "workspace:0.8.21",
"jazz-tools": "workspace:0.8.21",
"pica": "^9.0.1",
"typescript": "^5.3.3"
},

View File

@@ -1,5 +1,23 @@
# jazz-browser
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- cojson-storage-indexeddb@0.8.21
- cojson-transport-ws@0.8.21
## 0.8.20
### Patch Changes
- Updated dependencies [3ef3ff3]
- cojson-storage-indexeddb@0.8.20
## 0.8.19
### Patch Changes

View File

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

View File

@@ -1,5 +1,15 @@
# jazz-autosub
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- cojson-transport-ws@0.8.21
## 0.8.19
### Patch Changes

View File

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

View File

@@ -1,5 +1,27 @@
# jazz-browser-media-images
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- jazz-browser-auth-clerk@0.8.21
- jazz-react@0.8.21
## 0.8.20
### Patch Changes
- Updated dependencies [dd9b13f]
- Updated dependencies [a69ed0b]
- Updated dependencies [3ef3ff3]
- Updated dependencies [c6931b8]
- jazz-react@0.8.20
- jazz-browser-auth-clerk@0.8.20
## 0.8.19
### Patch Changes

View File

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

View File

@@ -1,5 +1,18 @@
# jazz-browser-media-images
## 0.8.17
### Patch Changes
- Updated dependencies [149ca97]
- jazz-tools@0.8.21
## 0.8.16
### Patch Changes
- 3ef3ff3: Remove typescript from the direct dependencies
## 0.8.15
### Patch Changes

View File

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

View File

@@ -1,5 +1,21 @@
# jazz-browser
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- cojson-transport-ws@0.8.21
## 0.8.20
### Patch Changes
- 3ef3ff3: Remove typescript from the direct dependencies
## 0.8.19
### Patch Changes

View File

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

View File

@@ -1,5 +1,25 @@
# jazz-react
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- jazz-browser@0.8.21
## 0.8.20
### Patch Changes
- dd9b13f: Move auto login check to useEffect
- a69ed0b: Fix the Jazz.Provider initialization when multiple storage options are provided
- 3ef3ff3: Remove typescript from the direct dependencies
- c6931b8: Add user prop to demo auth to skip login on demos
- jazz-browser@0.8.20
## 0.8.19
### Patch Changes

View File

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

View File

@@ -50,72 +50,75 @@ export function createJazzReactApp<Acc extends Account>({
const effectExecuted = useRef(false);
effectExecuted.current = false;
useEffect(() => {
// Avoid double execution of the effect in development mode for easier debugging.
if (process.env.NODE_ENV === "development") {
if (effectExecuted.current) {
return;
useEffect(
() => {
// Avoid double execution of the effect in development mode for easier debugging.
if (process.env.NODE_ENV === "development") {
if (effectExecuted.current) {
return;
}
effectExecuted.current = true;
// In development mode we don't return a cleanup function because otherwise
// the double effect execution would mark the context as done immediately.
//
// So we mark it as done in the subsequent execution.
const previousContext = ctx;
if (previousContext) {
previousContext.done();
}
}
effectExecuted.current = true;
async function createContext() {
const currentContext = await createJazzBrowserContext<Acc>(
auth === "guest"
? {
peer,
storage,
}
: {
AccountSchema,
auth,
peer,
storage,
},
);
const logOut = () => {
currentContext.logOut();
setCtx(undefined);
setSessionCount(sessionCount + 1);
if (process.env.NODE_ENV === "development") {
// In development mode we don't return a cleanup function
// so we mark the context as done here.
currentContext.done();
}
};
setCtx({
...currentContext,
logOut,
});
return currentContext;
}
const promise = createContext();
// In development mode we don't return a cleanup function because otherwise
// the double effect execution would mark the context as done immediately.
//
// So we mark it as done in the subsequent execution.
const previousContext = ctx;
if (previousContext) {
previousContext.done();
if (process.env.NODE_ENV === "development") {
return;
}
}
async function createContext() {
const currentContext = await createJazzBrowserContext<Acc>(
auth === "guest"
? {
peer,
storage,
}
: {
AccountSchema,
auth,
peer,
storage,
},
);
const logOut = () => {
currentContext.logOut();
setCtx(undefined);
setSessionCount(sessionCount + 1);
if (process.env.NODE_ENV === "development") {
// In development mode we don't return a cleanup function
// so we mark the context as done here.
currentContext.done();
}
return () => {
void promise.then((context) => context.done());
};
setCtx({
...currentContext,
logOut,
});
return currentContext;
}
const promise = createContext();
// In development mode we don't return a cleanup function because otherwise
// the double effect execution would mark the context as done immediately.
if (process.env.NODE_ENV === "development") {
return;
}
return () => {
void promise.then((context) => context.done());
};
}, [AccountSchema, auth, peer, storage, sessionCount]);
},
[AccountSchema, auth, peer, sessionCount].concat(storage as any),
);
return (
<JazzContext.Provider value={ctx}>{ctx && children}</JazzContext.Provider>

View File

@@ -1,5 +1,16 @@
# jazz-run
## 0.8.21
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- cojson-storage-sqlite@0.8.21
- cojson-transport-ws@0.8.21
## 0.8.19
### Patch Changes

View File

@@ -3,7 +3,7 @@
"bin": "./dist/index.js",
"type": "module",
"license": "MIT",
"version": "0.8.19",
"version": "0.8.21",
"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.19",
"cojson-storage-sqlite": "workspace:0.8.19",
"cojson-transport-ws": "workspace:0.8.19",
"cojson": "workspace:0.8.21",
"cojson-storage-sqlite": "workspace:0.8.21",
"cojson-transport-ws": "workspace:0.8.21",
"effect": "^3.6.5",
"jazz-tools": "workspace:0.8.19",
"jazz-tools": "workspace:0.8.21",
"ws": "^8.14.2"
},
"devDependencies": {

View File

@@ -1,5 +1,13 @@
# jazz-tools
## 0.8.21
### Patch Changes
- 149ca97: changed jazz-tools TS target to ES2021
- Updated dependencies [0f30eea]
- cojson@0.8.21
## 0.8.19
### Patch Changes

View File

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

View File

@@ -38,11 +38,17 @@ import {
subscribeToExistingCoValue,
} from "../internal.js";
export type CoStreamEntry<Item> = SingleCoStreamEntry<Item> & {
all: IterableIterator<SingleCoStreamEntry<Item>>;
/** @deprecated Use CoFeedEntry instead */
export type CoStreamEntry<Item> = CoFeedEntry<Item>;
export type CoFeedEntry<Item> = SingleCoFeedEntry<Item> & {
all: IterableIterator<SingleCoFeedEntry<Item>>;
};
export type SingleCoStreamEntry<Item> = {
/** @deprecated Use SingleCoFeedEntry instead */
export type SingleCoStreamEntry<Item> = SingleCoFeedEntry<Item>;
export type SingleCoFeedEntry<Item> = {
value: NonNullable<Item> extends CoValue ? NonNullable<Item> | null : Item;
ref: NonNullable<Item> extends CoValue ? Ref<NonNullable<Item>> : never;
by?: Account | null;
@@ -50,11 +56,14 @@ export type SingleCoStreamEntry<Item> = {
tx: CojsonInternalTypes.TransactionID;
};
/** @deprecated Use CoFeed instead */
export { CoFeed as CoStream };
/** @category CoValues */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export class CoStream<Item = any> extends CoValueBase implements CoValue {
static Of<Item>(item: IfCo<Item, Item>): typeof CoStream<Item> {
return class CoStreamOf extends CoStream<Item> {
export class CoFeed<Item = any> extends CoValueBase implements CoValue {
static Of<Item>(item: IfCo<Item, Item>): typeof CoFeed<Item> {
return class CoFeedOf extends CoFeed<Item> {
[co.items] = item;
};
}
@@ -73,12 +82,12 @@ export class CoStream<Item = any> extends CoValueBase implements CoValue {
get _schema(): {
[ItemsSym]: SchemaFor<Item>;
} {
return (this.constructor as typeof CoStream)._schema;
return (this.constructor as typeof CoFeed)._schema;
}
[key: ID<Account>]: CoStreamEntry<Item>;
[key: ID<Account>]: CoFeedEntry<Item>;
get byMe(): CoStreamEntry<Item> | undefined {
get byMe(): CoFeedEntry<Item> | undefined {
if (this._loadedAs._type === "Account") {
return this[this._loadedAs.id];
} else {
@@ -86,9 +95,9 @@ export class CoStream<Item = any> extends CoValueBase implements CoValue {
}
}
perSession!: {
[key: SessionID]: CoStreamEntry<Item>;
[key: SessionID]: CoFeedEntry<Item>;
};
get inCurrentSession(): CoStreamEntry<Item> | undefined {
get inCurrentSession(): CoFeedEntry<Item> | undefined {
if (this._loadedAs._type === "Account") {
return this.perSession[this._loadedAs.sessionID!];
} else {
@@ -116,9 +125,9 @@ export class CoStream<Item = any> extends CoValueBase implements CoValue {
return new Proxy(this, CoStreamProxyHandler as ProxyHandler<this>);
}
static create<S extends CoStream>(
static create<S extends CoFeed>(
this: CoValueClass<S>,
init: S extends CoStream<infer Item> ? UnCo<Item>[] : never,
init: S extends CoFeed<infer Item> ? UnCo<Item>[] : never,
options: { owner: Account | Group },
) {
const instance = new this({ init, owner: options.owner });
@@ -197,9 +206,9 @@ export class CoStream<Item = any> extends CoValueBase implements CoValue {
return this.toJSON();
}
static schema<V extends CoStream>(
static schema<V extends CoFeed>(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this: { new (...args: any): V } & typeof CoStream,
this: { new (...args: any): V } & typeof CoFeed,
def: { [ItemsSym]: V["_schema"][ItemsSym] },
) {
this._schema ||= {};
@@ -207,7 +216,7 @@ export class CoStream<Item = any> extends CoValueBase implements CoValue {
}
/** @category Subscription & Loading */
static load<S extends CoStream, Depth>(
static load<S extends CoFeed, Depth>(
this: CoValueClass<S>,
id: ID<S>,
as: Account,
@@ -217,7 +226,7 @@ export class CoStream<Item = any> extends CoValueBase implements CoValue {
}
/** @category Subscription & Loading */
static subscribe<S extends CoStream, Depth>(
static subscribe<S extends CoFeed, Depth>(
this: CoValueClass<S>,
id: ID<S>,
as: Account,
@@ -228,7 +237,7 @@ export class CoStream<Item = any> extends CoValueBase implements CoValue {
}
/** @category Subscription & Loading */
ensureLoaded<S extends CoStream, Depth>(
ensureLoaded<S extends CoFeed, Depth>(
this: S,
depth: Depth & DepthsIn<S>,
): Promise<DeeplyLoaded<S, Depth> | undefined> {
@@ -236,7 +245,7 @@ export class CoStream<Item = any> extends CoValueBase implements CoValue {
}
/** @category Subscription & Loading */
subscribe<S extends CoStream, Depth>(
subscribe<S extends CoFeed, Depth>(
this: S,
depth: Depth & DepthsIn<S>,
listener: (value: DeeplyLoaded<S, Depth>) => void,
@@ -256,7 +265,7 @@ function entryFromRawEntry<Item>(
loadedAs: Account | AnonymousJazzAgent,
accountID: ID<Account> | undefined,
itemField: Schema,
): Omit<CoStreamEntry<Item>, "all"> {
): Omit<CoFeedEntry<Item>, "all"> {
return {
get value(): NonNullable<Item> extends CoValue
? (CoValue & Item) | null
@@ -307,7 +316,7 @@ function entryFromRawEntry<Item>(
};
}
export const CoStreamProxyHandler: ProxyHandler<CoStream> = {
export const CoStreamProxyHandler: ProxyHandler<CoFeed> = {
get(target, key, receiver) {
if (typeof key === "string" && key.startsWith("co_")) {
const rawEntry = target._raw.lastItemBy(key as RawAccountID);
@@ -337,7 +346,7 @@ export const CoStreamProxyHandler: ProxyHandler<CoStream> = {
);
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
})() satisfies IterableIterator<SingleCoStreamEntry<any>>;
})() satisfies IterableIterator<SingleCoFeedEntry<any>>;
},
});
@@ -350,8 +359,8 @@ export const CoStreamProxyHandler: ProxyHandler<CoStream> = {
},
set(target, key, value, receiver) {
if (key === ItemsSym && typeof value === "object" && SchemaInit in value) {
(target.constructor as typeof CoStream)._schema ||= {};
(target.constructor as typeof CoStream)._schema[ItemsSym] =
(target.constructor as typeof CoFeed)._schema ||= {};
(target.constructor as typeof CoFeed)._schema[ItemsSym] =
value[SchemaInit];
return true;
} else {
@@ -365,8 +374,8 @@ export const CoStreamProxyHandler: ProxyHandler<CoStream> = {
typeof descriptor.value === "object" &&
SchemaInit in descriptor.value
) {
(target.constructor as typeof CoStream)._schema ||= {};
(target.constructor as typeof CoStream)._schema[ItemsSym] =
(target.constructor as typeof CoFeed)._schema ||= {};
(target.constructor as typeof CoFeed)._schema[ItemsSym] =
descriptor.value[SchemaInit];
return true;
} else {
@@ -396,8 +405,8 @@ export const CoStreamProxyHandler: ProxyHandler<CoStream> = {
};
const CoStreamPerSessionProxyHandler = (
innerTarget: CoStream,
accessFrom: CoStream,
innerTarget: CoFeed,
accessFrom: CoFeed,
): ProxyHandler<Record<string, never>> => ({
get(_target, key, receiver) {
if (typeof key === "string" && key.includes("session")) {
@@ -435,7 +444,7 @@ const CoStreamPerSessionProxyHandler = (
);
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
})() satisfies IterableIterator<SingleCoStreamEntry<any>>;
})() satisfies IterableIterator<SingleCoFeedEntry<any>>;
},
});

View File

@@ -339,7 +339,7 @@ export class CoList<Item = any> extends Array<Item> implements CoValue {
*
* You can pass `[]` or for shallowly loading only this CoList, or `[itemDepth]` for recursively loading referenced CoValues.
*
* Check out the `load` methods on `CoMap`/`CoList`/`CoStream`/`Group`/`Account` to see which depth structures are valid to nest.
* Check out the `load` methods on `CoMap`/`CoList`/`CoFeed`/`Group`/`Account` to see which depth structures are valid to nest.
*
* @example
* ```ts
@@ -372,7 +372,7 @@ export class CoList<Item = any> extends Array<Item> implements CoValue {
*
* You can pass `[]` or for shallowly loading only this CoList, or `[itemDepth]` for recursively loading referenced CoValues.
*
* Check out the `load` methods on `CoMap`/`CoList`/`CoStream`/`Group`/`Account` to see which depth structures are valid to nest.
* Check out the `load` methods on `CoMap`/`CoList`/`CoFeed`/`Group`/`Account` to see which depth structures are valid to nest.
*
* Returns an unsubscribe function that you should call when you no longer need updates.
*

View File

@@ -366,7 +366,7 @@ export class CoMap extends CoValueBase implements CoValue {
*
* You can pass `[]` or `{}` for shallowly loading only this CoMap, or `{ fieldA: depthA, fieldB: depthB }` for recursively loading referenced CoValues.
*
* Check out the `load` methods on `CoMap`/`CoList`/`CoStream`/`Group`/`Account` to see which depth structures are valid to nest.
* Check out the `load` methods on `CoMap`/`CoList`/`CoFeed`/`Group`/`Account` to see which depth structures are valid to nest.
*
* @example
* ```ts
@@ -398,7 +398,7 @@ export class CoMap extends CoValueBase implements CoValue {
*
* You can pass `[]` or `{}` for shallowly loading only this CoMap, or `{ fieldA: depthA, fieldB: depthB }` for recursively loading referenced CoValues.
*
* Check out the `load` methods on `CoMap`/`CoList`/`CoStream`/`Group`/`Account` to see which depth structures are valid to nest.
* Check out the `load` methods on `CoMap`/`CoList`/`CoFeed`/`Group`/`Account` to see which depth structures are valid to nest.
*
* Returns an unsubscribe function that you should call when you no longer need updates.
*

View File

@@ -1,9 +1,9 @@
import { SessionID } from "cojson";
import {
Account,
CoFeed,
CoFeedEntry,
CoList,
CoStream,
CoStreamEntry,
ItemsSym,
Ref,
RefEncoded,
@@ -66,10 +66,10 @@ export function fulfillsDepth(depth: any, value: CoValue): boolean {
return true;
} else {
const itemDepth = depth[0];
return Object.values((value as CoStream).perSession).every((entry) =>
return Object.values((value as CoFeed).perSession).every((entry) =>
entry.ref
? entry.value && fulfillsDepth(itemDepth, entry.value)
: ((value as CoStream)._schema[ItemsSym] as RefEncoded<CoValue>)
: ((value as CoFeed)._schema[ItemsSym] as RefEncoded<CoValue>)
.optional,
);
}
@@ -121,7 +121,7 @@ export type DepthsIn<
| never[]
: V extends {
_type: "CoStream";
byMe: CoStreamEntry<infer Item> | undefined;
byMe: CoFeedEntry<infer Item> | undefined;
}
?
| [
@@ -192,7 +192,7 @@ export type DeeplyLoaded<
: [V] extends [
{
_type: "CoStream";
byMe: CoStreamEntry<infer Item> | undefined;
byMe: CoFeedEntry<infer Item> | undefined;
},
]
? Depth extends never[]

View File

@@ -17,6 +17,7 @@ export {
BinaryCoStream,
CoList,
CoMap,
CoFeed,
CoStream,
CoValueBase,
Group,

View File

@@ -5,7 +5,7 @@ export * from "./coValues/interfaces.js";
export * from "./coValues/coMap.js";
export * from "./coValues/account.js";
export * from "./coValues/coList.js";
export * from "./coValues/coStream.js";
export * from "./coValues/coFeed.js";
export * from "./coValues/group.js";
export * from "./implementation/errors.js";

View File

@@ -3,7 +3,7 @@ import { describe, expect, test } from "vitest";
import {
Account,
BinaryCoStream,
CoStream,
CoFeed,
ID,
WasmCrypto,
co,
@@ -16,7 +16,7 @@ import { randomSessionProvider } from "../internal.js";
const Crypto = await WasmCrypto.create();
describe("Simple CoStream operations", async () => {
describe("Simple CoFeed operations", async () => {
const me = await Account.create({
creationProps: { name: "Hermes Puggington" },
crypto: Crypto,
@@ -24,7 +24,7 @@ describe("Simple CoStream operations", async () => {
if (!isControlledAccount(me)) {
throw "me is not a controlled account";
}
class TestStream extends CoStream.Of(co.string) {}
class TestStream extends CoFeed.Of(co.string) {}
const stream = TestStream.create(["milk"], { owner: me });
@@ -46,16 +46,16 @@ describe("Simple CoStream operations", async () => {
});
});
describe("CoStream resolution", async () => {
class TwiceNestedStream extends CoStream.Of(co.string) {
describe("CoFeed resolution", async () => {
class TwiceNestedStream extends CoFeed.Of(co.string) {
fancyValueOf(account: ID<Account>) {
return "Sir " + this[account]?.value;
}
}
class NestedStream extends CoStream.Of(co.ref(TwiceNestedStream)) {}
class NestedStream extends CoFeed.Of(co.ref(TwiceNestedStream)) {}
class TestStream extends CoStream.Of(co.ref(NestedStream)) {}
class TestStream extends CoFeed.Of(co.ref(NestedStream)) {}
const initNodeAndStream = async () => {
const me = await Account.create({

View File

@@ -3,9 +3,9 @@ import { connectedPeers } from "cojson/src/streamUtils.ts";
import { describe, expect, expectTypeOf, test } from "vitest";
import {
Account,
CoFeed,
CoList,
CoMap,
CoStream,
ID,
Profile,
SessionID,
@@ -28,7 +28,7 @@ class InnerMap extends CoMap {
stream = co.ref(TestStream);
}
class TestStream extends CoStream.Of(co.ref(() => InnermostMap)) {}
class TestStream extends CoFeed.Of(co.ref(() => InnermostMap)) {}
class InnermostMap extends CoMap {
value = co.string;

View File

@@ -3,9 +3,9 @@ import { connectedPeers } from "cojson/src/streamUtils.js";
import { describe, expect, it, onTestFinished, vi } from "vitest";
import {
Account,
CoFeed,
CoList,
CoMap,
CoStream,
WasmCrypto,
co,
createJazzContext,
@@ -31,7 +31,7 @@ class Message extends CoMap {
}
class MessagesList extends CoList.Of(co.ref(Message)) {}
class ReactionsStream extends CoStream.Of(co.string) {}
class ReactionsStream extends CoFeed.Of(co.string) {}
async function setupAccount() {
const me = await Account.create({

View File

@@ -2,7 +2,7 @@
"compilerOptions": {
"lib": ["ESNext"],
"module": "esnext",
"target": "es2022",
"target": "ES2021",
"moduleResolution": "bundler",
"moduleDetection": "force",
"strict": true,

View File

@@ -1,5 +1,21 @@
# jazz-react
## 0.8.11
### Patch Changes
- Updated dependencies [0f30eea]
- Updated dependencies [149ca97]
- cojson@0.8.21
- jazz-tools@0.8.21
- jazz-browser@0.8.21
## 0.8.10
### Patch Changes
- jazz-browser@0.8.20
## 0.8.9
### Patch Changes

View File

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

179
pnpm-lock.yaml generated
View File

@@ -46,7 +46,7 @@ importers:
e2e/BinaryCoStream:
dependencies:
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
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.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
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.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-browser-media-images
jazz-react:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
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.19
specifier: workspace:0.8.21
version: link:../../packages/cojson
hash-slash:
specifier: workspace:0.2.1
version: link:../../packages/hash-slash
jazz-react:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
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.19
specifier: workspace:0.8.21
version: link:../../packages/cojson
hash-slash:
specifier: workspace:0.2.1
version: link:../../packages/hash-slash
jazz-react:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react
jazz-react-auth-clerk:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react-auth-clerk
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -471,9 +471,6 @@ importers:
'@babel/core':
specifier: ^7.20.0
version: 7.25.2
'@babel/plugin-transform-class-static-block':
specifier: ^7.24.7
version: 7.24.7(@babel/core@7.25.2)
'@types/react':
specifier: ^18.2.19
version: 18.2.79
@@ -628,9 +625,6 @@ importers:
'@babel/core':
specifier: ^7.20.0
version: 7.25.2
'@babel/plugin-transform-class-static-block':
specifier: ^7.24.7
version: 7.24.7(@babel/core@7.25.2)
'@types/jest':
specifier: ^29.5.3
version: 29.5.13
@@ -738,10 +732,10 @@ importers:
specifier: ^2.0.0
version: 2.0.0
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/cojson
cojson-transport-ws:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/cojson-transport-ws
hash-slash:
specifier: workspace:0.2.1
@@ -823,10 +817,10 @@ importers:
specifier: ^2.0.0
version: 2.0.0
jazz-react:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -881,10 +875,10 @@ importers:
examples/password-manager:
dependencies:
jazz-react:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-tools
react:
specifier: 18.3.1
@@ -945,13 +939,13 @@ importers:
specifier: ^2.0.0
version: 2.0.0
jazz-browser-media-images:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-browser-media-images
jazz-react:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -1006,7 +1000,7 @@ importers:
specifier: ^3.0.1
version: 3.0.1
jazz-run:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-run
postcss:
specifier: ^8.4.27
@@ -1044,10 +1038,10 @@ importers:
specifier: ^2.0.0
version: 2.0.0
jazz-react:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -1145,7 +1139,7 @@ importers:
packages/cojson-storage-indexeddb:
dependencies:
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
devDependencies:
'@vitest/browser':
@@ -1170,7 +1164,7 @@ importers:
specifier: ^8.5.2
version: 8.7.0
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
typescript:
specifier: ^5.3.3
@@ -1183,7 +1177,7 @@ importers:
packages/cojson-transport-ws:
dependencies:
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
typescript:
specifier: ^5.3.3
@@ -1193,6 +1187,8 @@ importers:
specifier: ^8.5.5
version: 8.5.10
packages/coverage: {}
packages/hash-slash:
devDependencies:
'@types/react':
@@ -1211,16 +1207,16 @@ importers:
specifier: ^1.3.0
version: 1.3.0
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
cojson-storage-indexeddb:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson-storage-indexeddb
cojson-transport-ws:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson-transport-ws
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-tools
typescript:
specifier: ^5.3.3
@@ -1229,13 +1225,13 @@ importers:
packages/jazz-browser-auth-clerk:
dependencies:
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
jazz-browser:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-browser
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-tools
devDependencies:
typescript:
@@ -1251,10 +1247,10 @@ importers:
specifier: ^4.1.0
version: 4.1.0
jazz-browser:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-browser
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-tools
pica:
specifier: ^9.0.1
@@ -1270,13 +1266,13 @@ importers:
packages/jazz-nodejs:
dependencies:
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
cojson-transport-ws:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson-transport-ws
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-tools
ws:
specifier: ^8.14.2
@@ -1295,13 +1291,13 @@ importers:
specifier: ^1.3.0
version: 1.3.0
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
jazz-browser:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-browser
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-tools
devDependencies:
'@types/react':
@@ -1320,16 +1316,16 @@ importers:
packages/jazz-react-auth-clerk:
dependencies:
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
jazz-browser-auth-clerk:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-browser-auth-clerk
jazz-react:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-react
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-tools
react:
specifier: 18.3.1
@@ -1413,19 +1409,19 @@ importers:
specifier: ^0.25.5
version: 0.25.5(effect@3.6.5)
cojson:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson
cojson-storage-sqlite:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson-storage-sqlite
cojson-transport-ws:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../cojson-transport-ws
effect:
specifier: ^3.6.5
version: 3.6.5
jazz-tools:
specifier: workspace:0.8.19
specifier: workspace:0.8.21
version: link:../jazz-tools
ws:
specifier: ^8.14.2
@@ -2878,18 +2874,12 @@ packages:
'@expo/code-signing-certificates@0.0.5':
resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==}
'@expo/config-plugins@7.2.5':
resolution: {integrity: sha512-w+5ccu1IxBHgyQk9CPFKLZOk8yZQEyTjbJwOzESK1eR7QwosbcsLkN1c1WWUZYiCXwORu3UTwJYll4+X2xxJhQ==}
'@expo/config-plugins@8.0.10':
resolution: {integrity: sha512-KG1fnSKRmsudPU9BWkl59PyE0byrE2HTnqbOrgwr2FAhqh7tfr9nRs6A9oLS/ntpGzmFxccTEcsV0L4apsuxxg==}
'@expo/config-plugins@8.0.9':
resolution: {integrity: sha512-dNCG45C7BbDPV9MdWvCbsFtJtVn4w/TJbb5b7Yr6FA8HYIlaaVM0wqUMzTPmGj54iYXw8X/Vge8uCPxg7RWgeA==}
'@expo/config-types@49.0.0':
resolution: {integrity: sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA==}
'@expo/config-types@51.0.2':
resolution: {integrity: sha512-IglkIoiDwJMY01lYkF/ZSBoe/5cR+O3+Gx6fpLFjLfgZGBTdyPkKa1g8NWoWQCk+D3cKL2MDbszT2DyRRB0YqQ==}
@@ -2911,9 +2901,6 @@ packages:
'@expo/image-utils@0.5.1':
resolution: {integrity: sha512-U/GsFfFox88lXULmFJ9Shfl2aQGcwoKPF7fawSCLixIKtMCpsI+1r0h+5i0nQnmt9tHuzXZDL8+Dg1z6OhkI9A==}
'@expo/json-file@8.2.37':
resolution: {integrity: sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==}
'@expo/json-file@8.3.3':
resolution: {integrity: sha512-eZ5dld9AD0PrVRiIWpRkm5aIoWBw3kAyd8VkuWEy92sEthBKDDDHAnK2a0dw0Eil6j7rK7lS/Qaq/Zzngv2h5A==}
@@ -2932,9 +2919,6 @@ packages:
'@expo/package-manager@1.5.2':
resolution: {integrity: sha512-IuA9XtGBilce0q8cyxtWINqbzMB1Fia0Yrug/O53HNuRSwQguV/iqjV68bsa4z8mYerePhcFgtvISWLAlNEbUA==}
'@expo/plist@0.0.20':
resolution: {integrity: sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==}
'@expo/plist@0.1.3':
resolution: {integrity: sha512-GW/7hVlAylYg1tUrEASclw1MMk9FP4ZwyFAY/SUTJIhPDQHtfOlXREyWV3hhrHdX/K+pS73GNgdfT6E/e+kBbg==}
@@ -3445,7 +3429,7 @@ packages:
'@radix-ui/react-compose-refs@1.1.0':
resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==}
peerDependencies:
'@types/react': ^18.2.32
'@types/react': '*'
react: 18.3.1
peerDependenciesMeta:
'@types/react':
@@ -3529,8 +3513,8 @@ packages:
'@radix-ui/react-focus-scope@1.1.0':
resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==}
peerDependencies:
'@types/react': ^18.2.32
'@types/react-dom': ^18.2.14
'@types/react': '*'
'@types/react-dom': '*'
react: 18.3.1
react-dom: 18.3.1
peerDependenciesMeta:
@@ -3542,7 +3526,7 @@ packages:
'@radix-ui/react-id@1.1.0':
resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
peerDependencies:
'@types/react': ^18.2.32
'@types/react': '*'
react: 18.3.1
peerDependenciesMeta:
'@types/react':
@@ -3564,8 +3548,8 @@ packages:
'@radix-ui/react-popper@1.2.0':
resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==}
peerDependencies:
'@types/react': ^18.2.32
'@types/react-dom': ^18.2.14
'@types/react': '*'
'@types/react-dom': '*'
react: 18.3.1
react-dom: 18.3.1
peerDependenciesMeta:
@@ -3642,8 +3626,8 @@ packages:
'@radix-ui/react-primitive@2.0.0':
resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==}
peerDependencies:
'@types/react': ^18.2.32
'@types/react-dom': ^18.2.14
'@types/react': '*'
'@types/react-dom': '*'
react: 18.3.1
react-dom: 18.3.1
peerDependenciesMeta:
@@ -3927,9 +3911,6 @@ packages:
peerDependencies:
'@babel/core': '*'
'@react-native/normalize-color@2.1.0':
resolution: {integrity: sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==}
'@react-native/normalize-colors@0.74.84':
resolution: {integrity: sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A==}
@@ -12205,26 +12186,6 @@ snapshots:
node-forge: 1.3.1
nullthrows: 1.1.1
'@expo/config-plugins@7.2.5':
dependencies:
'@expo/config-types': 49.0.0
'@expo/json-file': 8.2.37
'@expo/plist': 0.0.20
'@expo/sdk-runtime-versions': 1.0.0
'@react-native/normalize-color': 2.1.0
chalk: 4.1.2
debug: 4.3.7
find-up: 5.0.0
getenv: 1.0.0
glob: 7.1.6
resolve-from: 5.0.0
semver: 7.6.3
slash: 3.0.0
xcode: 3.0.1
xml2js: 0.6.0
transitivePeerDependencies:
- supports-color
'@expo/config-plugins@8.0.10':
dependencies:
'@expo/config-types': 51.0.3
@@ -12265,8 +12226,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@expo/config-types@49.0.0': {}
'@expo/config-types@51.0.2': {}
'@expo/config-types@51.0.3': {}
@@ -12290,7 +12249,7 @@ snapshots:
'@expo/config@9.0.4':
dependencies:
'@babel/code-frame': 7.10.4
'@expo/config-plugins': 7.2.5
'@expo/config-plugins': 8.0.10
'@expo/config-types': 51.0.3
'@expo/json-file': 8.3.3
getenv: 1.0.0
@@ -12345,12 +12304,6 @@ snapshots:
transitivePeerDependencies:
- encoding
'@expo/json-file@8.2.37':
dependencies:
'@babel/code-frame': 7.10.4
json5: 2.2.3
write-file-atomic: 2.4.3
'@expo/json-file@8.3.3':
dependencies:
'@babel/code-frame': 7.10.4
@@ -12404,12 +12357,6 @@ snapshots:
split: 1.0.1
sudo-prompt: 9.1.1
'@expo/plist@0.0.20':
dependencies:
'@xmldom/xmldom': 0.7.13
base64-js: 1.5.1
xmlbuilder: 14.0.0
'@expo/plist@0.1.3':
dependencies:
'@xmldom/xmldom': 0.7.13
@@ -13733,8 +13680,6 @@ snapshots:
- '@babel/preset-env'
- supports-color
'@react-native/normalize-color@2.1.0': {}
'@react-native/normalize-colors@0.74.84': {}
'@react-native/normalize-colors@0.74.85': {}