Compare commits
32 Commits
jazz-run@0
...
jazz-react
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4327ecbfdf | ||
|
|
32565f0e53 | ||
|
|
61a5889bea | ||
|
|
82bd3e1ea6 | ||
|
|
b800a6fba2 | ||
|
|
1b6dbfdfff | ||
|
|
061a70f1b3 | ||
|
|
f1c1e0dafd | ||
|
|
c3912fdb37 | ||
|
|
356bfa4860 | ||
|
|
38446668c4 | ||
|
|
bed7db0a33 | ||
|
|
296da5a5c4 | ||
|
|
16c4d27e00 | ||
|
|
69170fe0e0 | ||
|
|
a646ba54b3 | ||
|
|
45d60fc3c8 | ||
|
|
6f0c399ccd | ||
|
|
588ea02f63 | ||
|
|
ddc69f2268 | ||
|
|
7c62689319 | ||
|
|
df7011167c | ||
|
|
28a785acb0 | ||
|
|
3ee557bfbe | ||
|
|
af94255166 | ||
|
|
4a0dea3f75 | ||
|
|
6a42bc9655 | ||
|
|
c6c8a7f6b7 | ||
|
|
133dd0e26d | ||
|
|
815339272f | ||
|
|
9c1f340029 | ||
|
|
b72ea9608d |
@@ -1,5 +1,12 @@
|
||||
# passkey-svelte
|
||||
|
||||
## 0.0.97
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [3844666]
|
||||
- jazz-tools@0.15.8
|
||||
|
||||
## 0.0.96
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "chat-svelte",
|
||||
"version": "0.0.96",
|
||||
"version": "0.0.97",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
ChevronLeftIcon,
|
||||
ChevronRight,
|
||||
ChevronRightIcon,
|
||||
ClipboardCheckIcon,
|
||||
ClipboardIcon,
|
||||
CodeIcon,
|
||||
Eye,
|
||||
@@ -66,6 +67,7 @@ export const icons = {
|
||||
close: XIcon,
|
||||
code: CodeIcon,
|
||||
copy: ClipboardIcon,
|
||||
copySuccess: ClipboardCheckIcon,
|
||||
cursor: MousePointer2Icon,
|
||||
darkTheme: MoonIcon,
|
||||
delete: TrashIcon,
|
||||
|
||||
@@ -11,7 +11,7 @@ export function CopyButton({
|
||||
onCopy,
|
||||
}: {
|
||||
code: string;
|
||||
size: "md" | "lg";
|
||||
size: "sm" | "md" | "lg";
|
||||
className?: string;
|
||||
onCopy?: () => void;
|
||||
}) {
|
||||
@@ -32,13 +32,13 @@ export function CopyButton({
|
||||
type="button"
|
||||
className={clsx(
|
||||
className,
|
||||
"group/button absolute overflow-hidden rounded text-2xs font-medium md:opacity-0 backdrop-blur transition md:focus:opacity-100 group-hover:opacity-100",
|
||||
"group/button absolute overflow-hidden rounded text-2xs font-medium md:opacity-0 backdrop-blur transition md:focus:opacity-100 group-hover:opacity-100 items-center align-middle p-0",
|
||||
copied
|
||||
? "bg-emerald-400/10 ring-1 ring-inset ring-emerald-400/20"
|
||||
? "bg-blue-400/10 ring-1 ring-inset ring-blue-400/20"
|
||||
: "bg-white/5 hover:bg-white/7.5 dark:bg-white/2.5 dark:hover:bg-white/5",
|
||||
size == "md"
|
||||
size === "md"
|
||||
? "right-[8.5px] top-[8.5px] py-[2px] pl-1 pr-2"
|
||||
: "right-2 top-2 py-1 pl-2 pr-3",
|
||||
: "right-2 top-2 py-1 pl-2 pr-2",
|
||||
)}
|
||||
onClick={() => {
|
||||
window.navigator.clipboard.writeText(code).then(() => {
|
||||
@@ -60,18 +60,22 @@ export function CopyButton({
|
||||
className={clsx(
|
||||
size === "md" ? "size-3" : "size-4",
|
||||
"stroke-stone-500 transition-colors group-hover/button:stroke-stone-600 dark:group-hover/button:stroke-stone-400",
|
||||
copied && "stroke-primary",
|
||||
)}
|
||||
/>
|
||||
Copy
|
||||
{size !== "sm" && "Copy"}
|
||||
</span>
|
||||
<span
|
||||
aria-hidden={!copied}
|
||||
className={clsx(
|
||||
"pointer-events-none absolute inset-0 flex items-center justify-center text-emerald-600 transition duration-300 dark:text-emerald-400",
|
||||
"pointer-events-none absolute inset-0 flex items-center justify-center text-primary transition duration-300",
|
||||
!copied && "translate-y-1.5 opacity-0",
|
||||
)}
|
||||
>
|
||||
Copied!
|
||||
{size === "sm" && (
|
||||
<Icon name="copySuccess" size="xs" className="stroke-primary" />
|
||||
)}
|
||||
{size !== "sm" && "Copied!"}
|
||||
</span>
|
||||
</button>
|
||||
);
|
||||
|
||||
@@ -60,7 +60,7 @@ export function DropdownItem({
|
||||
let classes = clsx(
|
||||
className,
|
||||
// Base styles
|
||||
"group rounded-md space-x-2 focus:outline-none px-2.5 py-1.5",
|
||||
"group rounded-md space-x-2 focus:outline-none px-2.5 py-1.5",
|
||||
// Text styles
|
||||
"text-left text-sm/6 dark:text-white forced-colors:text-[CanvasText]",
|
||||
// Focus
|
||||
|
||||
@@ -22,7 +22,7 @@ export type Style =
|
||||
export const sizeClasses = {
|
||||
sm: "text-sm py-1 px-2",
|
||||
md: "py-1.5 px-3",
|
||||
lg: "md:text-lg py-2 px-3 md:px-8 md:py-3",
|
||||
lg: "py-2 px-5 md:px-6 md:py-2.5",
|
||||
};
|
||||
|
||||
export const styleToBorderMap = {
|
||||
|
||||
@@ -42,15 +42,6 @@ export const team: Array<TeamMember> = [
|
||||
linkedin: "giordanoricci",
|
||||
image: "gio.jpg",
|
||||
},
|
||||
{
|
||||
name: "Trisha Lim",
|
||||
slug: "trisha",
|
||||
titles: ["Frontend Dev", "Marketing"],
|
||||
image: "trisha.png",
|
||||
location: "Lisbon, Portugal ",
|
||||
github: "trishalim",
|
||||
website: "https://trishalim.com",
|
||||
},
|
||||
{
|
||||
name: "Meg Culotta",
|
||||
slug: "meg",
|
||||
@@ -73,7 +64,7 @@ export const team: Array<TeamMember> = [
|
||||
name: "Sammii Kellow",
|
||||
slug: "sammii",
|
||||
location: "London, UK",
|
||||
titles: ["Design Engineer", "Marketing"],
|
||||
titles: ["Frontend & Design Engineer", "Marketing"],
|
||||
x: "SammiiHaylock",
|
||||
github: "sammii-hk",
|
||||
website: "https://sammii.dev",
|
||||
@@ -91,4 +82,25 @@ export const team: Array<TeamMember> = [
|
||||
linkedin: "boorad",
|
||||
image: "brad.png",
|
||||
},
|
||||
{
|
||||
name: "Divya S",
|
||||
slug: "div",
|
||||
location: "New York, US",
|
||||
titles: ["Platform Engineer"],
|
||||
x: "shortdiv",
|
||||
github: "shortdiv",
|
||||
website: "https://shortdiv.com",
|
||||
bluesky: "shortdiv.bsky.social",
|
||||
linkedin: "shortdiv",
|
||||
image: "div.jpg",
|
||||
},
|
||||
{
|
||||
name: "Nico Rainhart",
|
||||
slug: "nico",
|
||||
location: "Buenos Aires, Argentina",
|
||||
titles: ["Full-Stack Dev", "Framework Engineer"],
|
||||
image: "nico.jpeg",
|
||||
github: "nrainhart",
|
||||
linkedin: "nicolás-rainhart",
|
||||
},
|
||||
];
|
||||
|
||||
BIN
homepage/gcmp/public/team/div.jpg
Normal file
BIN
homepage/gcmp/public/team/div.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.1 KiB |
BIN
homepage/gcmp/public/team/nico.jpeg
Normal file
BIN
homepage/gcmp/public/team/nico.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 279 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 186 KiB |
@@ -4,6 +4,7 @@ import { ComingSoonSection } from "@/components/home/ComingSoonSection";
|
||||
import { EarlyAdopterSection } from "@/components/home/EarlyAdopterSection";
|
||||
import { EncryptionSection } from "@/components/home/EncryptionSection";
|
||||
import { FeaturesSection } from "@/components/home/FeaturesSection";
|
||||
import { GetStartedSnippetSelect } from "@/components/home/GetStartedSnippetSelect";
|
||||
import { HeroSection } from "@/components/home/HeroSection";
|
||||
import { HowJazzWorksSection } from "@/components/home/HowJazzWorksSection";
|
||||
import { LocalFirstFeaturesSection } from "@/components/home/LocalFirstFeaturesSection";
|
||||
@@ -16,7 +17,8 @@ export default function Home() {
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div className="container flex flex-col gap-12 mt-12 lg:gap-20 lg:mt-20">
|
||||
<div className="container flex flex-col gap-12 lg:gap-20">
|
||||
<GetStartedSnippetSelect />
|
||||
<SupportedEnvironmentsSection />
|
||||
<HowJazzWorksSection />
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ export function SideNavItem({
|
||||
}) {
|
||||
const classes = clsx(
|
||||
className,
|
||||
"py-1 px-2 -mx-2 group rounded-md flex items-center transition-colors",
|
||||
"py-1 px-2 group rounded-md flex items-center transition-colors",
|
||||
);
|
||||
const path = usePathname();
|
||||
|
||||
@@ -28,7 +28,7 @@ export function SideNavItem({
|
||||
className={clsx(
|
||||
classes,
|
||||
path === href
|
||||
? "text-stone-900 font-medium bg-stone-100 dark:text-white dark:bg-stone-900"
|
||||
? "text-stone-900 font-medium bg-stone-200/50 dark:text-white dark:bg-stone-800/50"
|
||||
: "hover:text-stone-900 dark:hover:text-stone-200",
|
||||
)}
|
||||
>
|
||||
|
||||
@@ -10,10 +10,21 @@ import {
|
||||
DropdownItem,
|
||||
DropdownMenu,
|
||||
} from "@garden-co/design-system/src/components/organisms/Dropdown";
|
||||
import clsx from "clsx";
|
||||
import { usePathname, useRouter } from "next/navigation";
|
||||
import { useState } from "react";
|
||||
|
||||
export function FrameworkSelect() {
|
||||
export function FrameworkSelect({
|
||||
onSelect,
|
||||
size = "md",
|
||||
routerPush = true,
|
||||
className,
|
||||
}: {
|
||||
onSelect?: (framework: Framework) => void;
|
||||
size?: "sm" | "md";
|
||||
routerPush?: boolean;
|
||||
className?: string;
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const defaultFramework = useFramework();
|
||||
const [selectedFramework, setSelectedFramework] =
|
||||
@@ -23,26 +34,26 @@ export function FrameworkSelect() {
|
||||
|
||||
const selectFramework = (newFramework: Framework) => {
|
||||
setSelectedFramework(newFramework);
|
||||
router.push(path.replace(defaultFramework, newFramework));
|
||||
onSelect && onSelect(newFramework);
|
||||
routerPush && router.push(path.replace(defaultFramework, newFramework));
|
||||
};
|
||||
|
||||
return (
|
||||
<Dropdown>
|
||||
<DropdownButton
|
||||
className="w-full justify-between"
|
||||
className={clsx("w-full justify-between overflow-hidden text-nowrap", size === "sm" && "text-sm", className)}
|
||||
as={Button}
|
||||
variant="outline"
|
||||
intent="default"
|
||||
>
|
||||
{frameworkNames[selectedFramework].label}
|
||||
<span className="text-nowrap max-w-full overflow-hidden text-ellipsis">{frameworkNames[selectedFramework].label}</span>
|
||||
<Icon name="chevronDown" size="sm" />
|
||||
</DropdownButton>
|
||||
<DropdownMenu className="w-[--button-width] z-50" anchor="bottom start">
|
||||
{Object.entries(frameworkNames)
|
||||
.filter(([_, framework]) => !framework.hidden)
|
||||
.map(([key, framework]) => (
|
||||
<DropdownItem
|
||||
className="items-baseline"
|
||||
className={clsx("items-baseline", size === "sm" && "text-xs text-nowrap", selectedFramework === key && "text-primary dark:text-primary")}
|
||||
key={key}
|
||||
onClick={() => selectFramework(key as Framework)}
|
||||
>
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
'use client'
|
||||
|
||||
import { Framework } from "@/content/framework";
|
||||
import { useFramework } from "@/lib/use-framework";
|
||||
import NpxCreateJazzApp from "@/components/home/NpxCreateJazzApp.mdx";
|
||||
import { CopyButton } from "@garden-co/design-system/src/components/molecules/CodeGroup";
|
||||
import { useState } from "react";
|
||||
import { Button } from "@garden-co/design-system/src/components/atoms/Button";
|
||||
import Link from "next/link";
|
||||
import { FrameworkSelect } from "../docs/FrameworkSelect";
|
||||
import clsx from "clsx";
|
||||
import { track } from "@vercel/analytics";
|
||||
import { GappedGrid } from "@garden-co/design-system/src/components/molecules/GappedGrid";
|
||||
|
||||
export function GetStartedSnippetSelect() {
|
||||
const defaultFramework = useFramework();
|
||||
const [selectedFramework, setSelectedFramework] =
|
||||
useState<Framework>(defaultFramework);
|
||||
|
||||
return (
|
||||
<GappedGrid>
|
||||
<div className="relative w-full col-span-2 lg:col-span-3 border-2 border-primary rounded-lg overflow-hidden">
|
||||
<CopyButton
|
||||
code="npx create-jazz-app@latest"
|
||||
size="sm"
|
||||
className={clsx("mt-0.5 mr-0.5 z-100 md:opacity-100 hidden md:block")}
|
||||
onCopy={() => track("create-jazz-app command copied from hero")}
|
||||
/>
|
||||
<NpxCreateJazzApp />
|
||||
</div>
|
||||
<div className="col-span-2 lg:col-span-3 flex flex-row gap-2">
|
||||
<div className="h-full items-center w-[175px]">
|
||||
<FrameworkSelect onSelect={setSelectedFramework} size="md" routerPush={false} className="h-full md:px-4" />
|
||||
</div>
|
||||
<div className="flex h-full items-center">
|
||||
<Button intent="primary" size="lg" className="w-full">
|
||||
<Link className="my-[0.11rem]" href={`/docs/${selectedFramework}`}>Get started</Link>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</GappedGrid>
|
||||
);
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
"use client";
|
||||
|
||||
import CreateJazzApp from "@/components/home/CreateJazzApp.mdx";
|
||||
import { marketingCopy } from "@/content/marketingCopy";
|
||||
import { H1 } from "@garden-co/design-system/src/components/atoms/Headings";
|
||||
import {
|
||||
@@ -8,11 +7,10 @@ import {
|
||||
type IconName,
|
||||
} from "@garden-co/design-system/src/components/atoms/Icon";
|
||||
import { Kicker } from "@garden-co/design-system/src/components/atoms/Kicker";
|
||||
import { CopyButton } from "@garden-co/design-system/src/components/molecules/CodeGroup";
|
||||
import { Prose } from "@garden-co/design-system/src/components/molecules/Prose";
|
||||
import { SectionHeader } from "@garden-co/design-system/src/components/molecules/SectionHeader";
|
||||
import { track } from "@vercel/analytics";
|
||||
import Link from "next/link";
|
||||
import { GetStartedSnippetSelect } from "./GetStartedSnippetSelect";
|
||||
|
||||
|
||||
const features: Array<{
|
||||
title: string;
|
||||
@@ -54,8 +52,8 @@ const features: Array<{
|
||||
|
||||
export function HeroSection() {
|
||||
return (
|
||||
<div className="container grid items-center gap-x-8 gap-y-12 my-12 md:my-16 lg:my-24 lg:gap-x-10 lg:grid-cols-3">
|
||||
<div className="flex flex-col justify-center gap-5 lg:col-span-2 lg:gap-8">
|
||||
<div className="container grid items-center gap-x-8 gap-y-12 my-12 md:my-16 lg:my-24 lg:gap-x-10 lg:grid-cols-12">
|
||||
<div className="flex flex-col justify-center gap-5 lg:col-span-11 lg:gap-8">
|
||||
<Kicker>Toolkit for backendless apps</Kicker>
|
||||
<H1>
|
||||
<span className="inline-block text-highlight">
|
||||
@@ -94,31 +92,6 @@ export function HeroSection() {
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="h-full group grid md:grid-cols-2 items-center lg:grid-cols-1 lg:pt-36">
|
||||
<SectionHeader
|
||||
className="md:col-span-2 lg:sr-only"
|
||||
title="Get a Jazz app running in minutes."
|
||||
/>
|
||||
<div className="overflow-hidden sm:rounded-xl sm:border h-full sm:px-8 sm:pt-6 bg-stone-50 dark:bg-stone-950">
|
||||
<div className="rounded-lg bg-white dark:bg-stone-925 sm:ring-4 ring-stone-400/20 sm:shadow-xl sm:shadow-blue/20 border relative sm:top-2 h-full w-full">
|
||||
<div className="py-4 flex items-center gap-2.5 px-6 border-b">
|
||||
<span className="rounded-full size-3 bg-stone-200 dark:bg-stone-900" />
|
||||
<span className="rounded-full size-3 bg-stone-200 dark:bg-stone-900" />
|
||||
<span className="rounded-full size-3 bg-stone-200 dark:bg-stone-900" />
|
||||
<CopyButton
|
||||
code="npx create-jazz-app@latest"
|
||||
size="md"
|
||||
className="mt-0.5 mr-0.5"
|
||||
onCopy={() => track("create-jazz-app command copied from hero")}
|
||||
/>
|
||||
</div>
|
||||
<div className="p-3">
|
||||
<CreateJazzApp />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
3
homepage/homepage/components/home/NpxCreateJazzApp.mdx
Normal file
3
homepage/homepage/components/home/NpxCreateJazzApp.mdx
Normal file
@@ -0,0 +1,3 @@
|
||||
```sh
|
||||
npx create-jazz-app@latest
|
||||
```
|
||||
@@ -1,5 +1,12 @@
|
||||
# cojson-storage-indexeddb
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- cojson@0.15.8
|
||||
- cojson-storage@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cojson-storage-indexeddb",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"main": "dist/index.js",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# cojson-storage-sqlite
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- cojson@0.15.8
|
||||
- cojson-storage@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "cojson-storage-sqlite",
|
||||
"type": "module",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"better-sqlite3": "^11.7.0",
|
||||
"cojson": "workspace:0.15.7",
|
||||
"cojson": "workspace:0.15.8",
|
||||
"cojson-storage": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# cojson-storage
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- cojson@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cojson-storage",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"main": "dist/index.js",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# cojson-transport-nodejs-ws
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- cojson@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "cojson-transport-ws",
|
||||
"type": "module",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# cojson
|
||||
|
||||
## 0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
## 0.15.6
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
},
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"devDependencies": {
|
||||
"@opentelemetry/sdk-metrics": "^2.0.0",
|
||||
"typescript": "catalog:"
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# jazz-auth-betterauth
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [3844666]
|
||||
- jazz-tools@0.15.8
|
||||
- jazz-betterauth-client-plugin@0.15.8
|
||||
- cojson@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-auth-betterauth",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# jazz-betterauth-client-plugin
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-betterauth-server-plugin@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-betterauth-client-plugin",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# jazz-betterauth-server-plugin
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [3844666]
|
||||
- jazz-tools@0.15.8
|
||||
- cojson@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-betterauth-server-plugin",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# jazz-react-auth-betterauth
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [3844666]
|
||||
- jazz-tools@0.15.8
|
||||
- jazz-auth-betterauth@0.15.8
|
||||
- jazz-betterauth-client-plugin@0.15.8
|
||||
- cojson@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react-auth-betterauth",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.tsx",
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# jazz-run
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [3844666]
|
||||
- jazz-tools@0.15.8
|
||||
- cojson@0.15.8
|
||||
- cojson-storage-sqlite@0.15.8
|
||||
- cojson-transport-ws@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"bin": "./dist/index.js",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"exports": {
|
||||
"./startSyncServer": {
|
||||
"import": "./dist/startSyncServer.js",
|
||||
@@ -28,11 +28,11 @@
|
||||
"@effect/printer-ansi": "^0.34.5",
|
||||
"@effect/schema": "^0.71.1",
|
||||
"@effect/typeclass": "^0.25.5",
|
||||
"cojson": "workspace:0.15.7",
|
||||
"cojson-storage-sqlite": "workspace:0.15.7",
|
||||
"cojson-transport-ws": "workspace:0.15.7",
|
||||
"cojson": "workspace:0.15.8",
|
||||
"cojson-storage-sqlite": "workspace:0.15.8",
|
||||
"cojson-transport-ws": "workspace:0.15.8",
|
||||
"effect": "^3.6.5",
|
||||
"jazz-tools": "workspace:0.15.7",
|
||||
"jazz-tools": "workspace:0.15.8",
|
||||
"ws": "^8.14.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# jazz-tools
|
||||
|
||||
## 0.15.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3844666: Refactor AccountSchema types to solve "This is likely not portable. A type annotation is necessary" issue when using co.account()
|
||||
- cojson@0.15.8
|
||||
- cojson-storage@0.15.8
|
||||
- cojson-storage-indexeddb@0.15.8
|
||||
- cojson-transport-ws@0.15.8
|
||||
|
||||
## 0.15.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
},
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.15.7",
|
||||
"version": "0.15.8",
|
||||
"dependencies": {
|
||||
"@manuscripts/prosemirror-recreate-steps": "^0.1.4",
|
||||
"@scure/base": "1.2.1",
|
||||
|
||||
@@ -102,6 +102,8 @@ export {
|
||||
type InstanceOfSchemaCoValuesNullable,
|
||||
type CoValueOrZodSchema,
|
||||
type Loaded,
|
||||
type BaseAccountShape,
|
||||
type DefaultAccountShape,
|
||||
type AccountSchema,
|
||||
type AnyAccountSchema,
|
||||
type CoListSchema,
|
||||
|
||||
@@ -7,22 +7,24 @@ import { z } from "../zodReExport.js";
|
||||
import { Loaded, ResolveQuery } from "../zodSchema.js";
|
||||
import { AnyCoMapSchema, CoMapSchema } from "./CoMapSchema.js";
|
||||
|
||||
export type BaseProfileShape = {
|
||||
name: z.core.$ZodString<string>;
|
||||
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
};
|
||||
|
||||
export type BaseAccountShape = {
|
||||
profile: AnyCoMapSchema<BaseProfileShape>;
|
||||
root: AnyCoMapSchema;
|
||||
};
|
||||
|
||||
export type DefaultAccountShape = {
|
||||
profile: CoMapSchema<BaseProfileShape>;
|
||||
root: CoMapSchema<{}>;
|
||||
};
|
||||
|
||||
export type AccountSchema<
|
||||
Shape extends {
|
||||
profile: AnyCoMapSchema<{
|
||||
name: z.core.$ZodString<string>;
|
||||
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
}>;
|
||||
root: AnyCoMapSchema;
|
||||
} = {
|
||||
profile: CoMapSchema<{
|
||||
name: z.core.$ZodString<string>;
|
||||
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
}>;
|
||||
root: CoMapSchema<{}>;
|
||||
},
|
||||
Shape extends BaseAccountShape = DefaultAccountShape,
|
||||
> = Omit<CoMapSchema<Shape>, "create" | "load" | "withMigration"> & {
|
||||
builtin: "Account";
|
||||
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
import {
|
||||
type Account,
|
||||
AccountCreationProps,
|
||||
AccountSchema,
|
||||
AnyCoMapSchema,
|
||||
type AccountCreationProps,
|
||||
type AccountSchema,
|
||||
type AnyCoMapSchema,
|
||||
BaseAccountShape,
|
||||
CoFeed,
|
||||
CoFeedSchema,
|
||||
CoListSchema,
|
||||
CoMapSchema,
|
||||
type CoFeedSchema,
|
||||
type CoListSchema,
|
||||
type CoMapSchema,
|
||||
CoPlainText,
|
||||
CoProfileSchema,
|
||||
CoRecordSchema,
|
||||
type CoProfileSchema,
|
||||
type CoRecordSchema,
|
||||
CoRichText,
|
||||
DefaultProfileShape,
|
||||
type DefaultProfileShape,
|
||||
FileStream,
|
||||
FileStreamSchema,
|
||||
type FileStreamSchema,
|
||||
ImageDefinition,
|
||||
PlainTextSchema,
|
||||
Simplify,
|
||||
type PlainTextSchema,
|
||||
type Simplify,
|
||||
zodSchemaToCoSchema,
|
||||
} from "../../internal.js";
|
||||
import { RichTextSchema } from "./schemaTypes/RichTextSchema.js";
|
||||
@@ -82,16 +83,9 @@ export const coMapDefiner = <Shape extends z.core.$ZodLooseShape>(
|
||||
return enrichCoMapSchema(objectSchema);
|
||||
};
|
||||
|
||||
function enrichAccountSchema<
|
||||
Shape extends {
|
||||
profile: AnyCoMapSchema<{
|
||||
name: z.core.$ZodString<string>;
|
||||
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
}>;
|
||||
root: AnyCoMapSchema;
|
||||
},
|
||||
>(schema: z.ZodObject<Shape, z.core.$strip>) {
|
||||
function enrichAccountSchema<Shape extends BaseAccountShape>(
|
||||
schema: z.ZodObject<Shape, z.core.$strip>,
|
||||
) {
|
||||
const enrichedSchema = Object.assign(schema, {
|
||||
collaborative: true,
|
||||
builtin: "Account",
|
||||
@@ -142,16 +136,44 @@ function enrichAccountSchema<
|
||||
return enrichedSchema;
|
||||
}
|
||||
|
||||
export const coAccountDefiner = <
|
||||
Shape extends {
|
||||
profile: AnyCoMapSchema<{
|
||||
name: z.core.$ZodString<string>;
|
||||
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
||||
}>;
|
||||
root: AnyCoMapSchema;
|
||||
},
|
||||
>(
|
||||
/**
|
||||
* Defines a collaborative account schema for Jazz applications.
|
||||
*
|
||||
* Creates an account schema that represents a user account with profile and root data.
|
||||
* Accounts are the primary way to identify and manage users in Jazz applications.
|
||||
*
|
||||
* @template Shape - The shape of the account schema extending BaseAccountShape
|
||||
* @param shape - The account schema shape. Defaults to a basic profile with name, inbox, and inboxInvite fields, plus an empty root object.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* // Basic account with default profile
|
||||
* const BasicAccount = co.account();
|
||||
*
|
||||
* // Custom account with specific profile and root structure
|
||||
* const JazzAccount = co.account({
|
||||
* profile: co.profile({
|
||||
* name: z.string(),
|
||||
* avatar: z.optional(z.string()),
|
||||
* }),
|
||||
* root: co.map({
|
||||
* organizations: co.list(Organization),
|
||||
* draftOrganization: DraftOrganization,
|
||||
* }),
|
||||
* }).withMigration(async (account) => {
|
||||
* // Migration logic for existing accounts
|
||||
* if (account.profile === undefined) {
|
||||
* const group = Group.create();
|
||||
* account.profile = co.profile().create(
|
||||
* { name: getRandomUsername() },
|
||||
* group
|
||||
* );
|
||||
* group.addMember("everyone", "reader");
|
||||
* }
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
export const coAccountDefiner = <Shape extends BaseAccountShape>(
|
||||
shape: Shape = {
|
||||
profile: coMapDefiner({
|
||||
name: z.string(),
|
||||
|
||||
10
pnpm-lock.yaml
generated
10
pnpm-lock.yaml
generated
@@ -1620,7 +1620,7 @@ importers:
|
||||
specifier: ^11.7.0
|
||||
version: 11.10.0
|
||||
cojson:
|
||||
specifier: workspace:0.15.7
|
||||
specifier: workspace:0.15.8
|
||||
version: link:../cojson
|
||||
cojson-storage:
|
||||
specifier: workspace:*
|
||||
@@ -1797,19 +1797,19 @@ importers:
|
||||
specifier: ^0.25.5
|
||||
version: 0.25.8(effect@3.11.9)
|
||||
cojson:
|
||||
specifier: workspace:0.15.7
|
||||
specifier: workspace:0.15.8
|
||||
version: link:../cojson
|
||||
cojson-storage-sqlite:
|
||||
specifier: workspace:0.15.7
|
||||
specifier: workspace:0.15.8
|
||||
version: link:../cojson-storage-sqlite
|
||||
cojson-transport-ws:
|
||||
specifier: workspace:0.15.7
|
||||
specifier: workspace:0.15.8
|
||||
version: link:../cojson-transport-ws
|
||||
effect:
|
||||
specifier: ^3.6.5
|
||||
version: 3.11.9
|
||||
jazz-tools:
|
||||
specifier: workspace:0.15.7
|
||||
specifier: workspace:0.15.8
|
||||
version: link:../jazz-tools
|
||||
ws:
|
||||
specifier: ^8.14.2
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# jazz-react-tailwind-starter
|
||||
|
||||
## 0.0.128
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [3844666]
|
||||
- jazz-tools@0.15.8
|
||||
|
||||
## 0.0.127
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-react-passkey-auth-starter",
|
||||
"private": true,
|
||||
"version": "0.0.127",
|
||||
"version": "0.0.128",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# svelte-passkey-auth
|
||||
|
||||
## 0.0.102
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [3844666]
|
||||
- jazz-tools@0.15.8
|
||||
|
||||
## 0.0.101
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "svelte-passkey-auth",
|
||||
"version": "0.0.101",
|
||||
"version": "0.0.102",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user