Compare commits

..

27 Commits

Author SHA1 Message Date
Guido D'Orsi
fa3cf6d0c1 Merge pull request #2331 from garden-co/changeset-release/main
Version Packages
2025-05-22 14:26:58 +02:00
github-actions[bot]
d823700a7c Version Packages 2025-05-22 12:23:10 +00:00
Guido D'Orsi
ed472e834a Merge pull request #2329 from garden-co/fix-z-create
fix: reduce the z exported APIs to the ones we support and fix compatible types
2025-05-22 14:18:56 +02:00
Guido D'Orsi
365b0ea3a9 fix: reduce the z exported APIs to the ones we support and fix compatible types 2025-05-22 14:14:39 +02:00
Benjamin S. Leveritt
43c831167f Merge pull request #2328 from garden-co/2327-remove-auto-generated-api-reference-content
Hides the API Ref links
2025-05-22 12:48:00 +01:00
Benjamin S. Leveritt
cac0f1ad2b Hides the API Ref links 2025-05-22 11:10:46 +01:00
Guido D'Orsi
f66b7c1a5a Merge pull request #2326 from garden-co/changeset-release/main
Version Packages
2025-05-22 11:49:26 +02:00
github-actions[bot]
1b57cfc3f6 Version Packages 2025-05-22 09:45:36 +00:00
Guido D'Orsi
a805e27b0a Merge pull request #2322 from garden-co/fix-z-create
fix: fixes create types for CoList, CoRecord, CoFeed and CoFileStream
2025-05-22 11:42:24 +02:00
Guido D'Orsi
9d6d9fe7a5 fix: fixes create types for CoList, CoRecord, CoFeed and CoFileStream 2025-05-22 11:33:03 +02:00
Benjamin S. Leveritt
409758afd0 Adds tests for co.fileStream()'s this 2025-05-22 10:53:46 +02:00
Guido D'Orsi
e0bc532345 Merge pull request #2321 from garden-co/changeset-release/main
Version Packages
2025-05-22 10:14:43 +02:00
github-actions[bot]
87e02c0516 Version Packages 2025-05-22 08:14:27 +00:00
Guido D'Orsi
405f9be7b9 Merge pull request #2320 from garden-co/fix-z-create
fix: fix coMap.create with optional references
2025-05-22 10:10:01 +02:00
Guido D'Orsi
c82bf737bf Merge pull request #2319 from garden-co/fix-z-enum
feat: export the co.loaded alias
2025-05-22 10:08:49 +02:00
Guido D'Orsi
91cbb2f9d4 fix: fix coMap.create with optional types 2025-05-22 09:58:44 +02:00
Guido D'Orsi
cfbba59c6d test: reproduce the create type errors 2025-05-21 20:44:04 +02:00
Guido D'Orsi
b1209e2e09 docs: bring co.loaded in the upgrade guide 2025-05-21 19:38:06 +02:00
Guido D'Orsi
20b3d88135 feat: export the co.loaded alias 2025-05-21 19:25:47 +02:00
Guido D'Orsi
d9ad1f4de5 Merge pull request #2317 from garden-co/changeset-release/main
Version Packages
2025-05-21 18:16:49 +02:00
github-actions[bot]
c90153e0c9 Version Packages 2025-05-21 15:57:01 +00:00
Guido D'Orsi
a4241c0f4b Merge pull request #2315 from garden-co/fix-z-enum
fix: support z.enum
2025-05-21 17:53:00 +02:00
Benjamin S. Leveritt
e1ff7a65a8 Merge pull request #2316 from garden-co/fix-file-share-svelte
fix-file-share-svelte
2025-05-21 16:51:08 +01:00
Guido D'Orsi
011af55446 fix: support z.enum 2025-05-21 17:48:38 +02:00
Benjamin S. Leveritt
e9dbcf53c8 Fix formatting 2025-05-21 16:30:59 +01:00
Benjamin S. Leveritt
3da21b95ec Fix type issues 2025-05-21 16:30:49 +01:00
Benjamin S. Leveritt
a6d0dd07a1 Add type checking to build process
Can’t fathom why it’s not in there by default.
2025-05-21 15:51:25 +01:00
163 changed files with 3874 additions and 602 deletions

View File

@@ -1,5 +1,55 @@
# betterauth
## 0.1.11
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-betterauth-server-plugin@0.14.7
- jazz-inspector@0.14.7
- jazz-react@0.14.7
- jazz-react-auth-betterauth@0.14.7
- jazz-betterauth-client-plugin@0.14.7
## 0.1.10
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-betterauth-server-plugin@0.14.6
- jazz-inspector@0.14.6
- jazz-react@0.14.6
- jazz-react-auth-betterauth@0.14.6
- jazz-betterauth-client-plugin@0.14.6
## 0.1.9
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-betterauth-server-plugin@0.14.5
- jazz-inspector@0.14.5
- jazz-react@0.14.5
- jazz-react-auth-betterauth@0.14.5
- jazz-betterauth-client-plugin@0.14.5
## 0.1.8
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-betterauth-server-plugin@0.14.4
- jazz-inspector@0.14.4
- jazz-react@0.14.4
- jazz-react-auth-betterauth@0.14.4
- jazz-betterauth-client-plugin@0.14.4
## 0.1.7
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "betterauth",
"version": "0.1.7",
"version": "0.1.11",
"private": true,
"type": "module",
"scripts": {

View File

@@ -1,5 +1,43 @@
# chat-rn-expo-clerk
## 1.0.130
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-expo@0.14.7
- jazz-react-native-media-images@0.14.7
## 1.0.129
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-expo@0.14.6
- jazz-react-native-media-images@0.14.6
## 1.0.128
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-expo@0.14.5
- jazz-react-native-media-images@0.14.5
## 1.0.127
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-expo@0.14.4
- jazz-react-native-media-images@0.14.4
## 1.0.126
### Patch Changes

View File

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

View File

@@ -1,5 +1,39 @@
# chat-rn-expo
## 1.0.117
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-expo@0.14.7
## 1.0.116
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-expo@0.14.6
## 1.0.115
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-expo@0.14.5
## 1.0.114
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-expo@0.14.4
## 1.0.113
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "chat-rn-expo",
"version": "1.0.113",
"version": "1.0.117",
"main": "index.js",
"scripts": {
"build": "tsc --noEmit && expo export -p ios",

View File

@@ -1,5 +1,39 @@
# chat-rn
## 1.0.125
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react-native@0.14.7
## 1.0.124
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react-native@0.14.6
## 1.0.123
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react-native@0.14.5
## 1.0.122
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react-native@0.14.4
## 1.0.121
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "chat-rn",
"version": "1.0.121",
"version": "1.0.125",
"main": "index.js",
"scripts": {
"android": "react-native run-android",

View File

@@ -1,5 +1,43 @@
# chat-vue
## 0.0.108
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-browser@0.14.7
- jazz-vue@0.14.7
## 0.0.107
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-browser@0.14.6
- jazz-vue@0.14.6
## 0.0.106
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-browser@0.14.5
- jazz-vue@0.14.5
## 0.0.105
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-browser@0.14.4
- jazz-vue@0.14.4
## 0.0.104
### Patch Changes

View File

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

View File

@@ -1,5 +1,43 @@
# jazz-example-chat
## 0.0.206
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-inspector@0.14.7
- jazz-react@0.14.7
## 0.0.205
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-inspector@0.14.6
- jazz-react@0.14.6
## 0.0.204
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-inspector@0.14.5
- jazz-react@0.14.5
## 0.0.203
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-inspector@0.14.4
- jazz-react@0.14.4
## 0.0.202
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-chat",
"private": true,
"version": "0.0.202",
"version": "0.0.206",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,5 @@
import { createImage, useAccount, useCoState } from "jazz-react";
import { Account, Loaded, co } from "jazz-tools";
import { Account, co } from "jazz-tools";
import { useState } from "react";
import { Chat, Message } from "./schema.ts";
import {
@@ -91,7 +91,7 @@ export function ChatScreen(props: { chatID: string }) {
function ChatBubble(props: {
me: Account;
msg: Loaded<typeof Message, { text: true }>;
msg: co.loaded<typeof Message, { text: true }>;
}) {
if (!props.me.canRead(props.msg) || !props.msg.text?.toString()) {
return (

View File

@@ -4,5 +4,7 @@ export const Message = co.map({
text: co.plainText(),
image: z.optional(co.image()),
});
export type Message = co.loaded<typeof Message>;
export const Chat = co.list(Message);
export type Chat = co.loaded<typeof Chat>;

View File

@@ -1,6 +1,6 @@
import clsx from "clsx";
import { ProgressiveImg } from "jazz-react";
import { CoPlainText, ImageDefinition, Loaded } from "jazz-tools";
import { CoPlainText, ImageDefinition } from "jazz-tools";
import { ImageIcon } from "lucide-react";
import { useId, useRef } from "react";
@@ -81,7 +81,7 @@ export function BubbleText(props: {
);
}
export function BubbleImage(props: { image: Loaded<typeof ImageDefinition> }) {
export function BubbleImage(props: { image: ImageDefinition }) {
return (
<ProgressiveImg image={props.image}>
{({ src }) => (

View File

@@ -2,8 +2,8 @@
// This is NOT needed to make the chat work
import { Chat } from "@/schema.ts";
import { Loaded } from "jazz-tools";
export function onChatLoad(chat: Loaded<typeof Chat>) {
export function onChatLoad(chat: Chat) {
if (window.parent) {
chat.waitForSync().then(() => {
window.parent.postMessage(

View File

@@ -1,5 +1,43 @@
# minimal-auth-clerk
## 0.0.105
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
- jazz-react-auth-clerk@0.14.7
## 0.0.104
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
- jazz-react-auth-clerk@0.14.6
## 0.0.103
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
- jazz-react-auth-clerk@0.14.5
## 0.0.102
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
- jazz-react-auth-clerk@0.14.4
## 0.0.101
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "clerk",
"private": true,
"version": "0.0.101",
"version": "0.0.105",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,43 @@
# file-share-svelte
## 0.0.90
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-inspector-element@0.14.7
- jazz-svelte@0.14.7
## 0.0.89
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-inspector-element@0.14.6
- jazz-svelte@0.14.6
## 0.0.88
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-inspector-element@0.14.5
- jazz-svelte@0.14.5
## 0.0.87
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-inspector-element@0.14.4
- jazz-svelte@0.14.4
## 0.0.86
### Patch Changes

View File

@@ -1,11 +1,11 @@
{
"name": "file-share-svelte",
"version": "0.0.86",
"version": "0.0.90",
"private": true,
"type": "module",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"build": "pnpm run check && vite build",
"preview": "vite preview",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { slide } from 'svelte/transition';
import { SharedFile } from '$lib/schema';
import { FileStream } from 'jazz-tools';
import { type SharedFile } from '$lib/schema';
import { FileStream, type Loaded } from 'jazz-tools';
import { File, FileDown, Trash2, Link2 } from 'lucide-svelte';
import { toast } from 'svelte-sonner';
import { downloadFileBlob, formatFileSize } from '$lib/utils';
@@ -11,9 +11,9 @@
loading = false,
onDelete
}: {
file: SharedFile;
file: Loaded<SharedFile>;
loading?: boolean;
onDelete: (file: SharedFile) => void;
onDelete: (file: Loaded<SharedFile>) => void;
} = $props();
const isAdmin = $derived(file._owner?.myRole() === 'admin');
@@ -55,7 +55,7 @@
class="flex items-center justify-between rounded-lg border border-gray-200 bg-white p-4"
transition:slide={{ duration: 200 }}
>
<div class="flex items-center space-x-4 flex-grow">
<div class="flex flex-grow items-center space-x-4">
<div class="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-100 text-blue-600">
<File class="h-6 w-6" />
</div>
@@ -64,7 +64,12 @@
<label class="sr-only" for={`file-name-${file.id}`}>File name</label>
<!-- Jazz values are reactive, but they are not recognized as reactive by Svelte -->
<!-- svelte-ignore binding_property_non_reactive -->
<input class="font-medium text-gray-900 w-full py-1" type="text" bind:value={file.name} id={`file-name-${file.id}`} />
<input
class="w-full py-1 font-medium text-gray-900"
type="text"
bind:value={file.name}
id={`file-name-${file.id}`}
/>
{:else}
<h3 class="font-medium text-gray-900">{file.name}</h3>
{/if}

View File

@@ -1,13 +1,15 @@
import { FileStream, Group, co, z } from 'jazz-tools';
import { Group, co, z } from 'jazz-tools';
export const SharedFile = co.map({
name: z.string(),
file: FileStream,
file: co.fileStream(),
createdAt: z.date(),
uploadedAt: z.date(),
size: z.number(),
});
export type SharedFile = typeof SharedFile;
export const FileShareAccountRoot = co.map({
type: z.literal('file-share-account'),
sharedFiles: co.list(SharedFile),

View File

@@ -11,11 +11,13 @@
root: {
sharedFiles: {
$each: true
},
}
}
}
});
$inspect(me);
const sharedFiles = $derived(me.current?.root.sharedFiles);
let fileInput: HTMLInputElement;
@@ -107,10 +109,7 @@
{#if sharedFiles.length}
{#each sharedFiles as file}
{#if file}
<FileItem
{file}
onDelete={deleteFile}
/>
<FileItem {file} onDelete={deleteFile} />
{/if}
{/each}
{:else}

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { page } from '$app/stores';
import { CoState } from 'jazz-svelte';
import { CoState } from 'jazz-svelte';
import { SharedFile } from '$lib/schema';
import { File, FileDown, Link2 } from 'lucide-svelte';
import { FileStream } from 'jazz-tools';
@@ -9,7 +9,7 @@
const fileId = $page.params.fileId;
const file = $derived(new CoState(SharedFile, fileId ));
const file = $derived(new CoState(SharedFile, fileId));
const isAdmin = $derived(file.current?._owner?.myRole() === 'admin');
const fileStreamId = $derived(file.current?._refs?.file?.id);

View File

@@ -1,5 +1,43 @@
# jazz-tailwind-demo-auth-starter
## 0.0.45
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-inspector@0.14.7
- jazz-react@0.14.7
## 0.0.44
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-inspector@0.14.6
- jazz-react@0.14.6
## 0.0.43
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-inspector@0.14.5
- jazz-react@0.14.5
## 0.0.42
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-inspector@0.14.4
- jazz-react@0.14.4
## 0.0.41
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "filestream",
"private": true,
"version": "0.0.41",
"version": "0.0.45",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,6 +1,6 @@
"use client";
import { useAccount } from "jazz-react";
import { FileStream, co } from "jazz-tools";
import { co } from "jazz-tools";
import { useRef, useState } from "react";
import { JazzAccount } from "./schema";
@@ -125,7 +125,7 @@ export function FileWidget() {
try {
setIsUploading(true);
me.profile.file = await FileStream.createFromBlob(file, {
me.profile.file = await co.fileStream().createFromBlob(file, {
onProgress: (p) => setProgress(Math.round(p * 100)),
});
} catch (error) {

View File

@@ -1,5 +1,39 @@
# form
## 0.1.46
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.1.45
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.1.44
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.1.43
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.1.42
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "form",
"private": true,
"version": "0.1.42",
"version": "0.1.46",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,39 @@
# image-upload
## 0.0.102
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.101
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.100
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.99
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.98
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "image-upload",
"private": true,
"version": "0.0.98",
"version": "0.0.102",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,29 @@
# jazz-example-inspector
## 0.0.155
### Patch Changes
- jazz-inspector@0.14.7
## 0.0.154
### Patch Changes
- jazz-inspector@0.14.6
## 0.0.153
### Patch Changes
- jazz-inspector@0.14.5
## 0.0.152
### Patch Changes
- jazz-inspector@0.14.4
## 0.0.151
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-inspector-app",
"private": true,
"version": "0.0.151",
"version": "0.0.155",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { WORKER_ID } from "@/constants";
import { JoinGameRequest, WaitingRoom } from "@/schema";
import { createFileRoute, redirect } from "@tanstack/react-router";
import { Group, InboxSender, type Loaded } from "jazz-tools";
import { Group, InboxSender } from "jazz-tools";
import { ClipboardCopyIcon, Loader2Icon } from "lucide-react";
import { useEffect, useState } from "react";
@@ -29,10 +29,7 @@ export const Route = createFileRoute(
throw redirect({ to: "/" });
}
if (!waitingRoom?.account1?.isMe) {
const sender = await InboxSender.load<
Loaded<typeof JoinGameRequest>,
Loaded<typeof WaitingRoom>
>(
const sender = await InboxSender.load<JoinGameRequest, WaitingRoom>(
WORKER_ID,
me,
// { account1: {}, account2: {}, me, game: {} },

View File

@@ -4,6 +4,7 @@ export const Player = co.map({
account: co.account(),
playSelection: z.optional(z.literal(["rock", "paper", "scissors"])),
});
export type Player = co.loaded<typeof Player>;
export const Game = co.map({
player1: Player,
@@ -12,12 +13,14 @@ export const Game = co.map({
player1Score: z.number(),
player2Score: z.number(),
});
export type Game = co.loaded<typeof Game>;
export const WaitingRoom = co.map({
account1: co.account(),
account2: z.optional(co.account()),
game: z.optional(Game),
});
export type WaitingRoom = co.loaded<typeof WaitingRoom>;
export const PlayIntent = co.map({
type: z.literal("play"),
@@ -25,20 +28,24 @@ export const PlayIntent = co.map({
player: z.literal(["player1", "player2"]),
playSelection: z.literal(["rock", "paper", "scissors"]),
});
export type PlayIntent = co.loaded<typeof PlayIntent>;
export const NewGameIntent = co.map({
type: z.literal("newGame"),
gameId: z.string(),
});
export type NewGameIntent = co.loaded<typeof NewGameIntent>;
export const CreateGameRequest = co.map({
type: z.literal("createGame"),
});
export type CreateGameRequest = co.loaded<typeof CreateGameRequest>;
export const JoinGameRequest = co.map({
type: z.literal("joinGame"),
waitingRoom: WaitingRoom,
});
export type JoinGameRequest = co.loaded<typeof JoinGameRequest>;
export const InboxMessage = z.discriminatedUnion([
PlayIntent,
@@ -46,3 +53,4 @@ export const InboxMessage = z.discriminatedUnion([
CreateGameRequest,
JoinGameRequest,
]);
export type InboxMessage = co.loaded<typeof InboxMessage>;

View File

@@ -7,7 +7,7 @@ import {
WaitingRoom,
} from "@/schema";
import { startWorker } from "jazz-nodejs";
import { Account, Group, type Loaded, co } from "jazz-tools";
import { Account, Group, co } from "jazz-tools";
import { determineWinner } from "./lib/utils";
if (!process.env.VITE_JAZZ_WORKER_ACCOUNT || !process.env.JAZZ_WORKER_SECRET) {
@@ -124,10 +124,7 @@ function createPlayer({ account }: CreatePlayerParams) {
return player;
}
async function handleNewGameIntent(
_: string,
message: Loaded<typeof NewGameIntent>,
) {
async function handleNewGameIntent(_: string, message: NewGameIntent) {
const gameId = message.gameId;
const game = await Game.load(gameId, {
@@ -152,7 +149,7 @@ async function handleNewGameIntent(
}
}
async function handlePlayIntent(_: string, message: Loaded<typeof PlayIntent>) {
async function handlePlayIntent(_: string, message: PlayIntent) {
// determine current player, update game with outcome
const gameId = message.gameId;
if (!gameId) {

View File

@@ -1,5 +1,39 @@
# multi-cursors
## 0.0.98
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.97
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.96
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.95
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.94
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "multi-cursors",
"private": true,
"version": "0.0.94",
"version": "0.0.98",
"type": "module",
"scripts": {
"dev": "vite",
@@ -16,7 +16,8 @@
"jazz-react": "workspace:*",
"jazz-tools": "workspace:*",
"react": "^18.3.1",
"react-dom": "^18.3.1"
"react-dom": "^18.3.1",
"zod": "3.25.0-beta.20250518T002810"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",

View File

@@ -1,4 +1,4 @@
import { z } from "jazz-tools";
import { z } from "zod/v4";
export const Vec2 = z.object({
x: z.number(),

View File

@@ -1,5 +1,43 @@
# multiauth
## 0.0.46
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
- jazz-react-auth-clerk@0.14.7
## 0.0.45
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
- jazz-react-auth-clerk@0.14.6
## 0.0.44
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
- jazz-react-auth-clerk@0.14.5
## 0.0.43
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
- jazz-react-auth-clerk@0.14.4
## 0.0.42
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "multiauth",
"private": true,
"version": "0.0.42",
"version": "0.0.46",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,43 @@
# jazz-example-musicplayer
## 0.0.127
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-inspector@0.14.7
- jazz-react@0.14.7
## 0.0.126
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-inspector@0.14.6
- jazz-react@0.14.6
## 0.0.125
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-inspector@0.14.5
- jazz-react@0.14.5
## 0.0.124
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-inspector@0.14.4
- jazz-react@0.14.4
## 0.0.123
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-music-player",
"private": true,
"version": "0.0.123",
"version": "0.0.127",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -13,6 +13,7 @@ import { co, z } from "jazz-tools";
export const MusicTrackWaveform = co.map({
data: z.array(z.number()),
});
export type MusicTrackWaveform = co.loaded<typeof MusicTrackWaveform>;
export const MusicTrack = co.map({
/**
@@ -44,12 +45,13 @@ export const MusicTrack = co.map({
return z.optional(MusicTrack);
},
});
export type MusicTrack = co.loaded<typeof MusicTrack>;
export const Playlist = co.map({
title: z.string(),
tracks: co.list(MusicTrack), // CoList is the collaborative version of Array
});
export type Playlist = co.loaded<typeof Playlist>;
/** The account root is an app-specific per-user private `CoMap`
* where you can store top-level objects for that user */
export const MusicaAccountRoot = co.map({
@@ -69,7 +71,7 @@ export const MusicaAccountRoot = co.map({
exampleDataLoaded: z.optional(z.boolean()),
});
export type MusicaAccountRoot = co.loaded<typeof MusicaAccountRoot>;
export const MusicaAccount = co
.account({
/** the default user profile with a name */
@@ -97,5 +99,6 @@ export const MusicaAccount = co
});
}
});
export type MusicaAccount = co.loaded<typeof MusicaAccount>;
/** Walkthrough: Continue with ./2_main.tsx */

View File

@@ -1,5 +1,5 @@
import { getAudioFileData } from "@/lib/audio/getAudioFileData";
import { FileStream, Group, Loaded, co } from "jazz-tools";
import { FileStream, Group, co } from "jazz-tools";
import {
MusicTrack,
MusicTrackWaveform,
@@ -94,8 +94,8 @@ export async function createNewPlaylist() {
}
export async function addTrackToPlaylist(
playlist: Loaded<typeof Playlist>,
track: Loaded<typeof MusicTrack>,
playlist: Playlist,
track: MusicTrack,
) {
const alreadyAdded = playlist.tracks?.some(
(t) => t?.id === track.id || t?._refs.sourceTrack?.id === track.id,
@@ -118,8 +118,8 @@ export async function addTrackToPlaylist(
}
export async function removeTrackFromPlaylist(
playlist: Loaded<typeof Playlist>,
track: Loaded<typeof MusicTrack>,
playlist: Playlist,
track: MusicTrack,
) {
const notAdded = !playlist.tracks?.some(
(t) => t?.id === track.id || t?._refs.sourceTrack?.id === track.id,
@@ -142,21 +142,15 @@ export async function removeTrackFromPlaylist(
}
}
export async function updatePlaylistTitle(
playlist: Loaded<typeof Playlist>,
title: string,
) {
export async function updatePlaylistTitle(playlist: Playlist, title: string) {
playlist.title = title;
}
export async function updateMusicTrackTitle(
track: Loaded<typeof MusicTrack>,
title: string,
) {
export async function updateMusicTrackTitle(track: MusicTrack, title: string) {
track.title = title;
}
export async function updateActivePlaylist(playlist?: Loaded<typeof Playlist>) {
export async function updateActivePlaylist(playlist?: Playlist) {
const { root } = await MusicaAccount.getMe().ensureLoaded({
resolve: {
root: {
@@ -169,7 +163,7 @@ export async function updateActivePlaylist(playlist?: Loaded<typeof Playlist>) {
root.activePlaylist = playlist ?? root.rootPlaylist;
}
export async function updateActiveTrack(track: Loaded<typeof MusicTrack>) {
export async function updateActiveTrack(track: MusicTrack) {
const { root } = await MusicaAccount.getMe().ensureLoaded({
resolve: {
root: {},
@@ -180,7 +174,7 @@ export async function updateActiveTrack(track: Loaded<typeof MusicTrack>) {
}
export async function onAnonymousAccountDiscarded(
anonymousAccount: Loaded<typeof MusicaAccount>,
anonymousAccount: MusicaAccount,
) {
const { root: anonymousAccountRoot } = await anonymousAccount.ensureLoaded({
resolve: {

View File

@@ -2,7 +2,7 @@ import { MusicTrack, MusicaAccount, Playlist } from "@/1_schema";
import { usePlayMedia } from "@/lib/audio/usePlayMedia";
import { usePlayState } from "@/lib/audio/usePlayState";
import { useAccount } from "jazz-react";
import { FileStream, Loaded } from "jazz-tools";
import { FileStream } from "jazz-tools";
import { useRef, useState } from "react";
import { updateActivePlaylist, updateActiveTrack } from "./4_actions";
import { getNextTrack, getPrevTrack } from "./lib/getters";
@@ -22,7 +22,7 @@ export function useMediaPlayer() {
// Reference used to avoid out-of-order track loads
const lastLoadedTrackId = useRef<string | null>(null);
async function loadTrack(track: Loaded<typeof MusicTrack>) {
async function loadTrack(track: MusicTrack) {
lastLoadedTrackId.current = track.id;
setLoading(track.id);
@@ -64,10 +64,7 @@ export function useMediaPlayer() {
}
}
async function setActiveTrack(
track: Loaded<typeof MusicTrack>,
playlist?: Loaded<typeof Playlist>,
) {
async function setActiveTrack(track: MusicTrack, playlist?: Playlist) {
if (activeTrackId === track.id && lastLoadedTrackId.current !== null) {
playState.toggle();
return;

View File

@@ -1,5 +1,39 @@
# organization
## 0.0.98
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.97
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.96
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.95
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.94
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "organization",
"private": true,
"version": "0.0.94",
"version": "0.0.98",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,39 @@
# passkey-svelte
## 0.0.94
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-svelte@0.14.7
## 0.0.93
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-svelte@0.14.6
## 0.0.92
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-svelte@0.14.5
## 0.0.91
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-svelte@0.14.4
## 0.0.90
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "passkey-svelte",
"version": "0.0.90",
"version": "0.0.94",
"type": "module",
"private": true,
"scripts": {

View File

@@ -1,5 +1,39 @@
# minimal-auth-passkey
## 0.0.103
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.102
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.101
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.100
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.99
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "passkey",
"private": true,
"version": "0.0.99",
"version": "0.0.103",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,39 @@
# passphrase
## 0.0.100
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.99
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.98
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.97
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.96
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "passphrase",
"private": true,
"version": "0.0.96",
"version": "0.0.100",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,39 @@
# jazz-password-manager
## 0.0.124
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.123
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.122
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.121
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.120
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-password-manager",
"private": true,
"version": "0.0.120",
"version": "0.0.124",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,39 @@
# jazz-example-pets
## 0.0.222
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.221
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.220
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.219
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.218
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-pets",
"private": true,
"version": "0.0.218",
"version": "0.0.222",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,39 @@
# reactions
## 0.0.102
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.101
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.100
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.99
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.98
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "reactions",
"private": true,
"version": "0.0.98",
"version": "0.0.102",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,43 @@
# richtext-tiptap
## 0.1.15
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
- jazz-richtext-tiptap@0.1.15
## 0.1.14
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
- jazz-richtext-tiptap@0.1.14
## 0.1.13
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
- jazz-richtext-tiptap@0.1.13
## 0.1.12
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
- jazz-richtext-tiptap@0.1.12
## 0.1.11
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "richtext-tiptap",
"private": true,
"version": "0.1.11",
"version": "0.1.15",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,43 @@
# richtext
## 0.0.92
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
- jazz-richtext-prosemirror@0.1.26
## 0.0.91
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
- jazz-richtext-prosemirror@0.1.25
## 0.0.90
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
- jazz-richtext-prosemirror@0.1.24
## 0.0.89
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
- jazz-richtext-prosemirror@0.1.23
## 0.0.88
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "richtext",
"private": true,
"version": "0.0.88",
"version": "0.0.92",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,43 @@
# todo-vue
## 0.0.106
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-browser@0.14.7
- jazz-vue@0.14.7
## 0.0.105
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-browser@0.14.6
- jazz-vue@0.14.6
## 0.0.104
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-browser@0.14.5
- jazz-vue@0.14.5
## 0.0.103
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-browser@0.14.4
- jazz-vue@0.14.4
## 0.0.102
### Patch Changes

View File

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

View File

@@ -1,5 +1,39 @@
# jazz-example-todo
## 0.0.221
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-react@0.14.7
## 0.0.220
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-react@0.14.6
## 0.0.219
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-react@0.14.5
## 0.0.218
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-react@0.14.4
## 0.0.217
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-todo",
"private": true,
"version": "0.0.217",
"version": "0.0.221",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,43 @@
# version-history
## 0.0.100
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-inspector@0.14.7
- jazz-react@0.14.7
## 0.0.99
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-inspector@0.14.6
- jazz-react@0.14.6
## 0.0.98
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-inspector@0.14.5
- jazz-react@0.14.5
## 0.0.97
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-inspector@0.14.4
- jazz-react@0.14.4
## 0.0.96
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "version-history",
"private": true,
"version": "0.0.96",
"version": "0.0.100",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -0,0 +1,21 @@
"use client";
import { Button } from "@garden-co/design-system/src/components/atoms/Button";
import { track } from "@vercel/analytics";
export function FakeGetStartedButton({ tier }: { tier: "starter" | "indie" }) {
return (
<Button
onClick={() => {
track("FakeSignUp", { tier });
alert(
"During the public alpha, all limits are lifted. Please use your email address as the API key, as shown in the docs!",
);
window.location.pathname = "/docs";
}}
variant={tier === "starter" ? "secondary" : "primary"}
>
Get {tier === "starter" ? "Starter" : "Indie"} API Key
</Button>
);
}

View File

@@ -1,13 +0,0 @@
import { Button } from "@garden-co/design-system/src/components/atoms/Button";
export function GetStartedButton({ tier }: { tier: "starter" | "indie" }) {
return (
<Button
href={`https://dashboard.jazz.tools?utm_source=cloud_cta_${tier}`}
newTab
variant={tier === "starter" ? "secondary" : "primary"}
>
Get {tier === "starter" ? "Starter" : "Indie"} API key
</Button>
);
}

View File

@@ -1,17 +1,19 @@
import { GetStartedButton } from "@/components/GetStartedButton";
import { Button } from "@garden-co/design-system/src/components/atoms/Button";
import { clsx } from "clsx";
import {
CircleCheckIcon,
LucideBuilding2,
LucideChevronUp,
LucideChevronsUp,
LucideCloudDownload,
LucideDatabase,
LucideHandshake,
LucideIcon,
LucideInfinity,
LucideServer,
LucideUsers,
} from "lucide-react";
import { FakeGetStartedButton } from "./FakeGetStartedButton";
import { IndieTierLogo, ProTierLogo, StarterTierLogo } from "./TierLogos";
export function ListItem({
@@ -86,7 +88,7 @@ export function Pricing() {
</ul>
</div>
<GetStartedButton tier="starter" />
<FakeGetStartedButton tier="starter" />
<p className="text-sm">No credit card required. Takes 20s.</p>
</div>
@@ -131,7 +133,7 @@ export function Pricing() {
</ul>
</div>
<GetStartedButton tier="indie" />
<FakeGetStartedButton tier="indie" />
<p className="text-sm">
One month free trial. Unlimited projects. Takes 1min.

View File

@@ -41,8 +41,6 @@ export function DocNav() {
{items.map((item) => (
<SideNavSection item={item} key={item.name} />
))}
<SideNavHeader href="/api-reference">API Reference</SideNavHeader>
</SideNavBody>
</SideNav>
);

View File

@@ -160,7 +160,7 @@ You can control network sync with [Providers](/docs/project-setup/providers/) ba
```tsx twoslash
import * as React from "react";
import { JazzProvider } from "jazz-react";
const apiKey = "Replace with API key from dashboard.jazz.tools";
const apiKey = "you@example.com";
function App() {
return <div>Hello World</div>;
}

View File

@@ -37,7 +37,7 @@ After installing, use `<JazzProviderWithClerk />` to wrap your app:
```tsx twoslash
import * as React from "react";
import { createRoot } from "react-dom/client";
const apiKey = "Replace with API key from dashboard.jazz.tools";
const apiKey = "you@example.com";
const PUBLISHABLE_KEY = "fake_key";
function App() {
return <div>Hello World</div>;

View File

@@ -426,7 +426,6 @@ export const JazzAccount = co.account({
// @filename: App.tsx
import * as React from "react";
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
import { Loaded } from "jazz-tools"
import { JazzProvider } from "jazz-react";
@@ -435,7 +434,7 @@ import { JazzAccount } from "./schema"; // [!code ++]
export function MyJazzProvider({ children }: { children: React.ReactNode }) {
return (
<JazzProvider
sync={{ peer: `wss://cloud.jazz.tools/?${apiKey}` }}
sync={{ peer: "wss://cloud.jazz.tools/?key=you@example.com" }}
AccountSchema={JazzAccount} // [!code ++]
>
{children}

View File

@@ -46,8 +46,6 @@ Collaborative Values (CoValues), build a UI and subscribe to changes, set permis
3. Modify `src/main.tsx` to set up a Jazz context:
<CodeGroup>
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
{/* prettier-ignore */}
```tsx
import React from "react";
@@ -60,7 +58,7 @@ const apiKey = "Replace with API key from dashboard.jazz.tools";
<React.StrictMode>
<JazzProvider // [!code ++:6]
// replace `you@example.com` with your email as a temporary API key
sync={{ peer: `wss://cloud.jazz.tools/?${apiKey}` }}
sync={{ peer: "wss://cloud.jazz.tools/?key=you@example.com" }}
>
<App />
</JazzProvider>

View File

@@ -16,12 +16,10 @@ You can use [`create-jazz-app`](/docs/tools/create-jazz-app) to create a new Jaz
<CodeGroup>
```sh
npx create-jazz-app@latest --api-key YOUR_API_KEY
npx create-jazz-app@latest --api-key you@example.com
```
</CodeGroup>
**Note**: Get your free API key from [dashboard.jazz.tools](https://dashboard.jazz.tools).
Or set up Jazz yourself, using the following instructions for your framework of choice:
- [React](/docs/react/project-setup)
@@ -48,10 +46,6 @@ Sync and persist your data by setting up a [sync and storage infrastructure](/do
Learn how to structure your data using [collaborative values](/docs/schemas/covalues).
## API Reference
Many of the packages provided are documented in the [API Reference](/api-reference).
## LLM Docs
Get better results with AI by [importing the Jazz docs](/docs/ai-tools) into your context window.

View File

@@ -19,8 +19,6 @@ Wrap your app components with the `<JazzProvider />` component:
<CodeGroup>
```tsx twoslash
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
// @noErrors: 2307 7031 2304 2686 2664
// App.tsx
import { JazzProvider } from "jazz-expo";
@@ -29,7 +27,7 @@ import { MyAppAccount } from "./schema";
export function MyJazzProvider({ children }: { children: React.ReactNode }) {
return (
<JazzProvider
sync={{ peer: `wss://cloud.jazz.tools/?key=${apiKey}` }}
sync={{ peer: "wss://cloud.jazz.tools/?key=you@example.com" }}
AccountSchema={MyAppAccount}
>
{children}
@@ -75,7 +73,6 @@ import React, { ReactNode } from "react";
function SignInScreen({ auth }: { auth: any }) {
return null;
}
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut-before---
// Example with PassphraseAuth
import { JazzProvider, usePassphraseAuth } from "jazz-expo";
@@ -98,7 +95,7 @@ function JazzAuthentication({ children }: { children: ReactNode }) {
function AuthenticatedProvider({ children }: { children: ReactNode }) {
return (
<JazzProvider
sync={{ peer: `wss://cloud.jazz.tools/?key=${apiKey}`}}
sync={{ peer: "wss://cloud.jazz.tools/?key=your-api-key" }}
>
<JazzAuthentication>
{children}

View File

@@ -19,8 +19,6 @@ Wrap your app components with the `<JazzProvider />` component:
<CodeGroup>
```tsx twoslash
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
// @noErrors: 2307 2686 2664
// App.tsx
import { JazzProvider } from "jazz-react-native";
@@ -29,7 +27,7 @@ import { MyAppAccount } from "./schema";
export function MyJazzProvider({ children }: { children: React.ReactNode }) {
return (
<JazzProvider
sync={{ peer: `wss://cloud.jazz.tools/?key=${apiKey}` }}
sync={{ peer: "wss://cloud.jazz.tools/?key=you@example.com" }}
AccountSchema={MyAppAccount}
>
{children}
@@ -75,7 +73,6 @@ import React, { ReactNode } from "react";
function SignInScreen({ auth }: { auth: any }) {
return null;
}
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut-before---
// Example with PassphraseAuth
import { JazzProvider, usePassphraseAuth } from "jazz-react-native";
@@ -98,7 +95,7 @@ function JazzAuthentication({ children }: { children: ReactNode }) {
function AuthenticatedProvider({ children }: { children: ReactNode }) {
return (
<JazzProvider
sync={{ peer: `wss://cloud.jazz.tools/?key=${apiKey}` }}
sync={{ peer: "wss://cloud.jazz.tools/?key=your-api-key" }}
>
<JazzAuthentication>
{children}

View File

@@ -39,7 +39,6 @@ export const MyAppAccount = co.account({
});
// @filename: app.tsx
import * as React from "react";
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
// App.tsx
import { JazzProvider } from "jazz-react";
@@ -49,7 +48,7 @@ export function MyApp({ children }: { children: React.ReactNode }) {
return (
<JazzProvider
sync={{
peer: `wss://cloud.jazz.tools/?key=${apiKey}`,
peer: "wss://cloud.jazz.tools/?key=your-api-key",
when: "always" // When to sync: "always", "never", or "signedUp"
}}
AccountSchema={MyAppAccount}
@@ -69,13 +68,11 @@ The `sync` property configures how your application connects to the Jazz network
<CodeGroup>
```tsx twoslash
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
import { type SyncConfig } from "jazz-tools";
const syncConfig: SyncConfig = {
// Connection to Jazz Cloud or your own sync server
peer: `wss://cloud.jazz.tools/?key=${apiKey}`,
peer: "wss://cloud.jazz.tools/?key=your-api-key",
// When to sync: "always" (default), "never", or "signedUp"
when: "always",
@@ -114,9 +111,8 @@ import * as React from "react";
import { JazzProvider } from "jazz-react";
import { SyncConfig } from "jazz-tools";
const apiKey = "Replace with API key from dashboard.jazz.tools";
const syncConfig: SyncConfig = {
peer: `wss://cloud.jazz.tools/?key=${apiKey}`,
peer: "wss://cloud.jazz.tools/?key=your-api-key",
when: "always",
}
@@ -148,9 +144,8 @@ import * as React from "react";
import { JazzProvider } from "jazz-react";
import { SyncConfig } from "jazz-tools";
const apiKey = "Replace with API key from dashboard.jazz.tools";
const syncConfig: SyncConfig = {
peer: `wss://cloud.jazz.tools/?key=${apiKey}`,
peer: "wss://cloud.jazz.tools/?key=your-api-key",
when: "always",
}

View File

@@ -82,7 +82,6 @@ import { createRoot } from 'react-dom/client';
function App() {
return <div>Hello, world!</div>;
}
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
// app.tsx
import { JazzProvider } from "jazz-react";
@@ -90,7 +89,7 @@ import { MyAppAccount } from "./schema";
createRoot(document.getElementById("root")!).render(
<JazzProvider
sync={{ peer: `wss://cloud.jazz.tools/?key=${apiKey}` }}
sync={{ peer: "wss://cloud.jazz.tools/?key=you@example.com" }}
AccountSchema={MyAppAccount}
>
<App />
@@ -132,7 +131,6 @@ export const MyAppAccount = co.account({
});
// @filename: app.tsx
import * as React from "react";
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
// app.tsx
"use client" // Mark as client component
@@ -143,7 +141,7 @@ import { MyAppAccount } from "./schema";
export function JazzWrapper({ children }: { children: React.ReactNode }) {
return (
<JazzProvider
sync={{ peer: `wss://cloud.jazz.tools/?key=${apiKey}` }}
sync={{ peer: "wss://cloud.jazz.tools/?key=you@example.com" }}
AccountSchema={MyAppAccount}
>
{children}

View File

@@ -45,13 +45,12 @@ You can use `startWorker` from `jazz-nodejs` to start a Server Worker. Similarly
```ts twoslash
import { Account } from "jazz-tools";
class MyWorkerAccount extends Account {}
const apiKey = "Replace with API key from dashboard.jazz.tools";
// ---cut---
import { startWorker } from 'jazz-nodejs';
const { worker } = await startWorker({
AccountSchema: MyWorkerAccount,
syncServer: `wss://cloud.jazz.tools/?key=${apiKey}`,
syncServer: 'wss://cloud.jazz.tools/?key=you@example.com',
});
```
</CodeGroup>

View File

@@ -6,48 +6,9 @@ export const metadata = {
# Sync and storage
For sync and storage, you can either use Jazz Cloud for zero-config magic, or run your own sync server.
## Using Jazz Cloud
To get your Jazz Cloud API key, create an account on [dashboard.jazz.tools](https://dashboard.jazz.tools).
It will generate an app with an API key for you.
![Jazz Cloud screenshot with API key generated](/jazz-cloud-api-key.png)
In your `JazzProvider`, replace the API key in the sync server URL with your API key.
<ContentByFramework framework={["vue", "svelte", "react-native", "react-native-expo", "vanilla"]}>
<CodeGroup>
```
wss://cloud.jazz.tools/?key=YOUR_API_KEY
```
</CodeGroup>
</ContentByFramework>
<ContentByFramework framework="react">
<CodeGroup>
```tsx twoslash
const apiKey = "Replace with API key from dashboard.jazz.tools";
import * as React from "react";
import { JazzProvider } from "jazz-react";
// ---cut---
export function MyApp({ children }: { children: React.ReactNode }) {
return (
<JazzProvider
sync={{
peer: `wss://cloud.jazz.tools/?key=${apiKey}`,
// ...
}}
>
{children}
</JazzProvider>
);
}
```
</CodeGroup>
</ContentByFramework>
Simply use `wss://cloud.jazz.tools/?key=...` as the sync server URL.
Jazz Cloud will
- sync CoValues in real-time between users and devices
@@ -59,6 +20,14 @@ Jazz Cloud will
- Jazz Cloud is free during the public alpha, with no strict usage limits
- We plan to keep a free tier, so you'll always be able to get started with zero setup
- See [Jazz Cloud pricing](/cloud#pricing) for more details
- ⚠️ Please use a valid email address as your API key.
Your full sync server URL should look something like
```wss://cloud.jazz.tools/?key=you@example.com```
Once we support per-app API keys, we'll email you an API key you can use instead.
## Running your own sync server

View File

@@ -17,12 +17,10 @@ Create a new Jazz app from a starter template in seconds:
<CodeGroup>
```bash
npx create-jazz-app@latest --api-key YOUR_API_KEY
npx create-jazz-app@latest --api-key you@example.com
```
</CodeGroup>
**Note**: Get your free API key from [dashboard.jazz.tools](https://dashboard.jazz.tools).
This launches an interactive CLI that guides you through selecting:
- Pre-configured frameworks and authentication methods (See [Available Starters](#available-starters))
- Package manager
@@ -36,13 +34,13 @@ If you know what you want, you can specify options directly from the command lin
<CodeGroup>
```bash
# Basic usage with project name
npx create-jazz-app@latest my-app --framework react --api-key YOUR_API_KEY
npx create-jazz-app@latest my-app --framework react --api-key you@example.com
# Specify a starter template
npx create-jazz-app@latest my-app --starter react-passkey-auth --api-key YOUR_API_KEY
npx create-jazz-app@latest my-app --starter react-passkey-auth --api-key you@example.com
# Specify example app
npx create-jazz-app@latest my-app --example chat --api-key YOUR_API_KEY
npx create-jazz-app@latest my-app --example chat --api-key you@example.com
```
</CodeGroup>

View File

@@ -103,41 +103,14 @@ const Pet = co.map({
name: z.string(),
age: z.number(),
});
type Pet = co.loaded<typeof Pet>;
const Person = co.map({
name: z.string(),
age: z.number(),
pets: co.list(Pet),
});
function MyComponent({ id }: { id: string }) {
const person = useCoState(Person, id);
return person && <div>{person.name}</div>;
}
```
</CodeGroup>
...you now need to specify the type differently **when passing CoValues as a parameter** or
**whenever you need to refer to the type of a loaded CoValue instance:**
<CodeGroup>
```tsx twoslash
import React from "react";
// ---cut---
import { z, co, Loaded } from "jazz-tools"; // [!code ++]
import { useCoState } from "jazz-react";
const Pet = co.map({
name: z.string(),
age: z.number(),
});
const Person = co.map({
name: z.string(),
age: z.number(),
pets: co.list(Pet),
});
type Person = co.loaded<typeof Person>;
function MyComponent({ id }: { id: string }) {
const person = useCoState(Person, id);
@@ -145,31 +118,35 @@ function MyComponent({ id }: { id: string }) {
return person && <PersonName person={person} />;
}
function PersonName({ person }: { person: Loaded<typeof Person> }) { // [!code ++]
function PersonName({ person }: {
person: Person
}) {
return <div>{person.name}</div>;
}
```
</CodeGroup>
`Loaded` can also take a second argument to specify the loading depth of the expected CoValue, mirroring the `resolve` options for `useCoState`, `load`, `subscribe`, etc.
`co.loaded` can also take a second argument to specify the loading depth of the expected CoValue, mirroring the `resolve` options for `useCoState`, `load`, `subscribe`, etc.
<CodeGroup>
```tsx twoslash
import React from "react";
// ---cut---
import { z, co, Loaded } from "jazz-tools";
import { z, co } from "jazz-tools";
import { useCoState } from "jazz-react";
const Pet = co.map({
name: z.string(),
age: z.number(),
});
type Pet = co.loaded<typeof Pet>;
const Person = co.map({
name: z.string(),
age: z.number(),
pets: co.list(Pet),
});
type Person = co.loaded<typeof Person>;
function MyComponent({ id }: { id: string }) {
const personWithPets = useCoState(Person, id, {
@@ -180,7 +157,7 @@ function MyComponent({ id }: { id: string }) {
}
function PersonAndFirstPetName({ person }: {
person: Loaded<typeof Person, { pets: { $each: true } }> // [!code ++]
person: co.loaded<typeof Person, { pets: { $each: true } }> // [!code ++]
}) {
return <div>{person.name} & {person.pets[0].name}</div>;
}
@@ -205,12 +182,14 @@ const Pet = co.map({
name: z.string(),
age: z.number(),
});
type Pet = co.loaded<typeof Pet>;
const Person = co.map({
name: z.string(),
age: z.number(),
pets: co.list(Pet),
});
type Person = co.loaded<typeof Person>;
```
```svelte twoslash filename="app.svelte"
// @filename: app.svelte
@@ -227,37 +206,13 @@ const person = new CoState(Person, id);
```
</CodeGroup>
...you now need to specify the type differently **when passing CoValues as a parameter** or
**whenever you need to refer to the type of a loaded CoValue instance:**
`co.loaded` can also take a second argument to specify the loading depth of the expected CoValue, mirroring the `resolve` options for `CoState`, `load`, `subscribe`, etc.
<CodeGroup>
```svelte twoslash
<script lang="ts" module>
export type Props = {
person: Loaded<typeof Person>; // [!code ++]
};
</script>
<script lang="ts">
import { Person } from './schema';
let props: Props = $props();
</script>
<div>
{props.person.name}
</div>
```
</CodeGroup>
`Loaded` can also take a second argument to specify the loading depth of the expected CoValue, mirroring the `resolve` options for `CoState`, `load`, `subscribe`, etc.
<CodeGroup>
```svelte twoslash
<script lang="ts" module>
export type Props = {
person: Loaded<typeof Person, { pets: { $each: true } }>; // [!code ++]
person: co.loaded<typeof Person, { pets: { $each: true } }>; // [!code ++]
};
</script>
@@ -419,7 +374,7 @@ This means that you now need to rely on `useCoState` on them to load their using
<CodeGroup>
```tsx twoslash
import React from "react";
import { co, z, Loaded, Group } from "jazz-tools";
import { co, z, Group } from "jazz-tools";
import { useCoState } from "jazz-react";
const Pet = co.map({
@@ -442,7 +397,7 @@ export const MyAppAccount = co.account({
});
// ---cut---
function GroupMembers({ group }: { group: Loaded<typeof Group> }) {
function GroupMembers({ group }: { group: Group }) {
const members = group.members;
return (

View File

@@ -11,10 +11,10 @@ export const navigationItems: NavItemProps[] = [
title: "Examples",
href: "/examples",
},
{
title: "API ref",
href: "/api-reference",
},
// {
// title: "API ref",
// href: "/api-reference",
// },
{
title: "Built with Jazz",
href: "/showcase",

View File

@@ -304,185 +304,6 @@ async function generateDetailedDocs(docs) {
}
}
// API Reference by package
output.push("## API Reference\n\n");
// for (const [packageName, packageDocs] of Object.entries(docs)) {
// const project = deserializer.reviveProject(packageDocs, packageName);
// // Add package heading with description
// output.push(`### ${packageName}\n`);
// output.push(`${getPackageDescription(packageName)}\n\n`);
// output.push(
// `[API Reference](https://jazz.tools/api-reference/${packageName})\n\n`,
// );
// // Process each category
// project.categories?.forEach((category) => {
// output.push(`#### ${category.title}\n`);
// category.children.forEach((child) => {
// // Add name, kind, and API reference link
// const apiLink = `[API Reference](https://jazz.tools/api-reference/${packageName}#${child.name})`;
// output.push(
// `##### ${child.name} (${ReflectionKind[child.kind]}) ${apiLink}\n`,
// );
// // Add description if available
// const description = formatComment(child.comment);
// if (description) {
// output.push(`${description}\n`);
// }
// output.push("\n");
// // Add properties for classes/interfaces
// if (child.children) {
// output.push("Properties:\n");
// // Group overloaded methods by name
// const methodGroups = new Map();
// child.children.forEach((prop) => {
// if (prop.signatures?.length > 0) {
// const existing = methodGroups.get(prop.name) || [];
// methodGroups.set(prop.name, [...existing, prop]);
// }
// });
// child.children.forEach((prop) => {
// // Skip if this is an overloaded method that we'll handle later
// if (
// prop.signatures?.length > 0 &&
// methodGroups.get(prop.name)?.length > 1
// ) {
// return;
// }
// const type = formatType(prop.type);
// const description = formatComment(prop.comment);
// // Output the property name and type, but skip the type for methods since we'll show signatures
// if (prop.signatures?.length > 0) {
// output.push(
// `- ${prop.name}${description ? ` - ${description}` : ""}\n`,
// );
// } else {
// output.push(
// `- ${prop.name}: ${type}${description ? ` - ${description}` : ""}\n`,
// );
// }
// // Handle method signatures with proper indentation
// if (prop.signatures) {
// prop.signatures.forEach((sig) => {
// const params = sig.parameters
// ?.map((p) => {
// const paramType = formatType(p.type);
// return `${p.name}: ${paramType}`;
// })
// .join(", ");
// output.push(
// ` Method signature: \`(${params || ""}) => ${formatType(sig.type)}\`\n`,
// );
// // Add API reference URL for the method
// output.push(
// ` [API Reference](https://jazz.tools/api-reference/${packageName}#${child.name}.${prop.name})\n`,
// );
// const methodDesc = formatComment(sig.comment);
// if (methodDesc) {
// // Indent each line of the description
// const indentedDesc = methodDesc
// .split("\n")
// .map((line) => ` ${line}`)
// .join("\n");
// output.push(`${indentedDesc}\n`);
// }
// });
// }
// });
// // Handle overloaded methods
// methodGroups.forEach((props, name) => {
// if (props.length <= 1) return;
// const firstProp = props[0];
// const description = formatComment(firstProp.comment);
// output.push(`- ${name}${description ? ` - ${description}` : ""}\n`);
// // Combine all signatures with proper indentation
// const allSignatures = props.flatMap((p) => p.signatures || []);
// allSignatures.forEach((sig) => {
// const params = sig.parameters
// ?.map((p) => {
// const paramType = formatType(p.type);
// return `${p.name}: ${paramType}`;
// })
// .join(", ");
// output.push(
// ` Method signature: \`(${params || ""}) => ${formatType(sig.type)}\`\n`,
// );
// // Add API reference URL for the overloaded method
// output.push(
// ` [API Reference](https://jazz.tools/api-reference/${packageName}#${child.name}.${name})\n`,
// );
// const methodDesc = formatComment(sig.comment);
// if (methodDesc) {
// // Indent each line of the description
// const indentedDesc = methodDesc
// .split("\n")
// .map((line) => ` ${line}`)
// .join("\n");
// output.push(`${indentedDesc}\n`);
// }
// });
// });
// }
// // Add signatures for functions/methods
// if (child.signatures) {
// child.signatures.forEach((sig) => {
// const params = sig.parameters
// ?.map((p) => {
// const type = formatType(p.type);
// const desc = formatComment(p.comment);
// return `${p.name}: ${type}${desc ? ` - ${desc}` : ""}`;
// })
// .join(", ");
// output.push(`Signature: ${child.name}(${params || ""})`);
// if (sig.type) {
// output.push(`Returns: ${formatType(sig.type)}`);
// if (sig.comment?.returns) {
// output.push(
// `Return description: ${sig.comment.returns
// .map((part) => part.text)
// .join("")
// .trim()}`,
// );
// }
// }
// const sigComment = formatComment(sig.comment);
// if (sigComment) {
// output.push(`\n${sigComment}`);
// }
// output.push("\n");
// });
// }
// output.push("\n");
// });
// });
// }
// Optional section for additional resources
output.push("## Resources\n\n");
output.push(

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -1,5 +1,43 @@
# jazz-auth-betterauth
## 0.14.7
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-browser@0.14.7
- jazz-betterauth-client-plugin@0.14.7
## 0.14.6
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-browser@0.14.6
- jazz-betterauth-client-plugin@0.14.6
## 0.14.5
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-browser@0.14.5
- jazz-betterauth-client-plugin@0.14.5
## 0.14.4
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-browser@0.14.4
- jazz-betterauth-client-plugin@0.14.4
## 0.14.2
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-auth-betterauth",
"version": "0.14.2",
"version": "0.14.7",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

View File

@@ -1,5 +1,39 @@
# jazz-auth-clerk
## 0.14.7
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-browser@0.14.7
## 0.14.6
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-browser@0.14.6
## 0.14.5
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-browser@0.14.5
## 0.14.4
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-browser@0.14.4
## 0.14.2
### Patch Changes

View File

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

View File

@@ -1,5 +1,29 @@
# jazz-betterauth-client-plugin
## 0.14.7
### Patch Changes
- jazz-betterauth-server-plugin@0.14.7
## 0.14.6
### Patch Changes
- jazz-betterauth-server-plugin@0.14.6
## 0.14.5
### Patch Changes
- jazz-betterauth-server-plugin@0.14.5
## 0.14.4
### Patch Changes
- jazz-betterauth-server-plugin@0.14.4
## 0.14.2
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-betterauth-client-plugin",
"version": "0.14.2",
"version": "0.14.7",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

View File

@@ -1,5 +1,39 @@
# jazz-betterauth-server-plugin
## 0.14.7
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-browser@0.14.7
## 0.14.6
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-browser@0.14.6
## 0.14.5
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-browser@0.14.5
## 0.14.4
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-browser@0.14.4
## 0.14.2
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-betterauth-server-plugin",
"version": "0.14.2",
"version": "0.14.7",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

View File

@@ -1,5 +1,39 @@
# jazz-browser-media-images
## 0.14.7
### Patch Changes
- Updated dependencies [365b0ea]
- jazz-tools@0.14.7
- jazz-browser@0.14.7
## 0.14.6
### Patch Changes
- Updated dependencies [9d6d9fe]
- Updated dependencies [9d6d9fe]
- jazz-tools@0.14.6
- jazz-browser@0.14.6
## 0.14.5
### Patch Changes
- Updated dependencies [91cbb2f]
- Updated dependencies [20b3d88]
- jazz-tools@0.14.5
- jazz-browser@0.14.5
## 0.14.4
### Patch Changes
- Updated dependencies [011af55]
- jazz-tools@0.14.4
- jazz-browser@0.14.4
## 0.14.2
### Patch Changes

View File

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

Some files were not shown because too many files have changed in this diff Show More