create-fate 1.7.4 → 1.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/create-fate.mjs +0 -1
- package/package.json +1 -1
- package/templates/fate/_shared/vue-app/package.json +3 -3
- package/templates/fate/_shared/vue-app/pages/index.vue +1 -1
- package/templates/fate/_shared/vue-app/src/ui/Header.vue +3 -1
- package/templates/fate/drizzle/README.md +1 -1
- package/templates/fate/drizzle/client/package.json +3 -3
- package/templates/fate/drizzle/client/pages/index.tsx +1 -1
- package/templates/fate/drizzle/client/src/ui/Button.tsx +2 -4
- package/templates/fate/drizzle/client/src/ui/Header.tsx +1 -1
- package/templates/fate/drizzle/package.json +1 -1
- package/templates/fate/drizzle/pnpm-workspace.yaml +1 -1
- package/templates/fate/drizzle/server/package.json +2 -2
- package/templates/fate/graphql/README.md +1 -1
- package/templates/fate/graphql/client/package.json +3 -3
- package/templates/fate/graphql/client/pages/index.tsx +1 -1
- package/templates/fate/graphql/client/src/ui/Button.tsx +2 -4
- package/templates/fate/graphql/client/src/ui/Header.tsx +1 -1
- package/templates/fate/graphql/package.json +1 -1
- package/templates/fate/graphql/pnpm-workspace.yaml +1 -1
- package/templates/fate/graphql/server/package.json +1 -1
- package/templates/fate/graphql-client/README.md +1 -1
- package/templates/fate/graphql-client/package.json +3 -3
- package/templates/fate/graphql-client/pnpm-workspace.yaml +1 -1
- package/templates/fate/http/README.md +1 -1
- package/templates/fate/http/client/package.json +3 -3
- package/templates/fate/http/client/pages/index.tsx +1 -1
- package/templates/fate/http/client/src/ui/Button.tsx +2 -4
- package/templates/fate/http/client/src/ui/Header.tsx +1 -1
- package/templates/fate/http/package.json +1 -1
- package/templates/fate/http/pnpm-workspace.yaml +1 -1
- package/templates/fate/http/server/package.json +2 -2
- package/templates/fate/prisma/README.md +1 -1
- package/templates/fate/prisma/client/package.json +3 -3
- package/templates/fate/prisma/client/pages/index.tsx +1 -1
- package/templates/fate/prisma/client/src/ui/Button.tsx +2 -4
- package/templates/fate/prisma/client/src/ui/Header.tsx +1 -1
- package/templates/fate/prisma/package.json +1 -1
- package/templates/fate/prisma/pnpm-workspace.yaml +1 -1
- package/templates/fate/prisma/server/package.json +1 -1
- package/templates/fate/void/package.json +4 -4
- package/templates/fate/void/pages/index.tsx +1 -1
- package/templates/fate/void/pnpm-workspace.yaml +1 -1
- package/templates/fate/void/src/ui/Button.tsx +2 -4
- package/templates/fate/void/src/ui/Header.tsx +1 -1
- package/templates/fate/drizzle/client/node_modules/.bin/browserslist +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/cf-wrangler +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/drizzle-kit +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/esbuild +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/fate +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/fbtee +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/intent +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/jiti +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/oxlint +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/rolldown +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/tsc +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/tsx +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/vitest +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/void +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/vp +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/vpr +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/workerd +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/wrangler +0 -22
- package/templates/fate/drizzle/client/node_modules/.bin/wrangler2 +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/drizzle-kit +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/esbuild +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/fate +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/intent +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/jiti +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/nodemon +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/oxlint +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/tsc +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/tsx +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/vitest +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/vp +0 -22
- package/templates/fate/drizzle/server/node_modules/.bin/vpr +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/browserslist +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/cf-wrangler +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/drizzle-kit +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/esbuild +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/fate +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/fbtee +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/intent +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/jiti +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/oxlint +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/rolldown +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/tsc +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/tsx +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/vitest +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/void +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/vp +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/vpr +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/workerd +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/wrangler +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/wrangler2 +0 -22
- package/templates/fate/graphql/client/node_modules/.bin/yaml +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/esbuild +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/eslint +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/fate +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/intent +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/jiti +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/nft +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/nodemon +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/oxlint +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/prisma +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/prisma-json-types-generator +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/prisma-pothos-types +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/tsc +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/tsgolint +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/tsx +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/vitest +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/vp +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/vpr +0 -22
- package/templates/fate/graphql/server/node_modules/.bin/yaml +0 -22
- package/templates/fate/http/client/node_modules/.bin/browserslist +0 -22
- package/templates/fate/http/client/node_modules/.bin/cf-wrangler +0 -22
- package/templates/fate/http/client/node_modules/.bin/drizzle-kit +0 -22
- package/templates/fate/http/client/node_modules/.bin/esbuild +0 -22
- package/templates/fate/http/client/node_modules/.bin/fate +0 -22
- package/templates/fate/http/client/node_modules/.bin/fbtee +0 -22
- package/templates/fate/http/client/node_modules/.bin/intent +0 -22
- package/templates/fate/http/client/node_modules/.bin/jiti +0 -22
- package/templates/fate/http/client/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/http/client/node_modules/.bin/oxlint +0 -22
- package/templates/fate/http/client/node_modules/.bin/rolldown +0 -22
- package/templates/fate/http/client/node_modules/.bin/tsc +0 -22
- package/templates/fate/http/client/node_modules/.bin/tsx +0 -22
- package/templates/fate/http/client/node_modules/.bin/vitest +0 -22
- package/templates/fate/http/client/node_modules/.bin/void +0 -22
- package/templates/fate/http/client/node_modules/.bin/vp +0 -22
- package/templates/fate/http/client/node_modules/.bin/vpr +0 -22
- package/templates/fate/http/client/node_modules/.bin/workerd +0 -22
- package/templates/fate/http/client/node_modules/.bin/wrangler +0 -22
- package/templates/fate/http/client/node_modules/.bin/wrangler2 +0 -22
- package/templates/fate/http/server/node_modules/.bin/drizzle-kit +0 -22
- package/templates/fate/http/server/node_modules/.bin/esbuild +0 -22
- package/templates/fate/http/server/node_modules/.bin/fate +0 -22
- package/templates/fate/http/server/node_modules/.bin/intent +0 -22
- package/templates/fate/http/server/node_modules/.bin/jiti +0 -22
- package/templates/fate/http/server/node_modules/.bin/nodemon +0 -22
- package/templates/fate/http/server/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/http/server/node_modules/.bin/oxlint +0 -22
- package/templates/fate/http/server/node_modules/.bin/tsc +0 -22
- package/templates/fate/http/server/node_modules/.bin/tsx +0 -22
- package/templates/fate/http/server/node_modules/.bin/vitest +0 -22
- package/templates/fate/http/server/node_modules/.bin/vp +0 -22
- package/templates/fate/http/server/node_modules/.bin/vpr +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/browserslist +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/cf-wrangler +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/drizzle-kit +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/esbuild +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/fate +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/fbtee +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/intent +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/jiti +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/oxlint +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/rolldown +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/tsc +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/tsx +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/vitest +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/void +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/vp +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/vpr +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/workerd +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/wrangler +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/wrangler2 +0 -22
- package/templates/fate/prisma/client/node_modules/.bin/yaml +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/esbuild +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/fate +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/intent +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/jiti +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/nft +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/nodemon +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/oxlint +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/prisma +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/tsc +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/tsx +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/vitest +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/vp +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/vpr +0 -22
- package/templates/fate/prisma/server/node_modules/.bin/yaml +0 -22
package/bin/create-fate.mjs
CHANGED
|
@@ -699,7 +699,6 @@ const configureVueReadme = (targetPath, selectedVariant) => {
|
|
|
699
699
|
`vp create fate -- --template ${selectedVariant}`,
|
|
700
700
|
`vp create fate -- --template ${selectedVariant} --framework vue`,
|
|
701
701
|
)
|
|
702
|
-
.replaceAll('modern data client for React', 'modern data client for Vue')
|
|
703
702
|
.replaceAll(
|
|
704
703
|
'data masking, Async React features, and',
|
|
705
704
|
'data masking, Vue-native composables, and',
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@app/client",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
|
-
"description": "fate is a modern data client for
|
|
5
|
+
"description": "fate is a modern data client for the web.",
|
|
6
6
|
"author": "Christoph Nakazawa <christoph.pojer@gmail.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
"@nkzw/core": "^1.3.1",
|
|
23
23
|
"@nkzw/define-env": "^1.1.0",
|
|
24
24
|
"@trpc/client": "^11.18.0",
|
|
25
|
-
"@void/vue": "^0.
|
|
25
|
+
"@void/vue": "^0.24.0",
|
|
26
26
|
"class-variance-authority": "^0.7.1",
|
|
27
27
|
"clsx": "^2.1.1",
|
|
28
28
|
"dotenv": "^17.4.2",
|
|
29
29
|
"graphql-sse": "^2.6.1",
|
|
30
30
|
"tailwind-merge": "^3.6.0",
|
|
31
|
-
"void": "^0.
|
|
31
|
+
"void": "^0.24.0",
|
|
32
32
|
"vue": "^3.5.41",
|
|
33
33
|
"vue-fate": "latest"
|
|
34
34
|
},
|
|
@@ -34,7 +34,7 @@ const [posts, loadNext] = useListView(PostConnectionView, postsRef);
|
|
|
34
34
|
<span class="lowercase italic">fate</span> demo
|
|
35
35
|
</p>
|
|
36
36
|
<h1 class="text-3xl leading-tight font-semibold text-balance lg:text-4xl">
|
|
37
|
-
fate is a modern data client for
|
|
37
|
+
fate is a modern data client for the web inspired by Relay and GraphQL.
|
|
38
38
|
</h1>
|
|
39
39
|
<p class="text-sm text-white/80 lg:text-base">
|
|
40
40
|
This template uses Vue-native fate composables, normalized caching, data masking, and
|
|
@@ -21,7 +21,9 @@ import Button from './Button.vue';
|
|
|
21
21
|
>
|
|
22
22
|
<span class="italic">fate</span>
|
|
23
23
|
</span>
|
|
24
|
-
<p class="hidden text-xs text-muted-foreground sm:block">
|
|
24
|
+
<p class="hidden text-xs text-muted-foreground sm:block">
|
|
25
|
+
A modern data client for the web.
|
|
26
|
+
</p>
|
|
25
27
|
</div>
|
|
26
28
|
</Link>
|
|
27
29
|
<Button size="sm" variant="ghost">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _fate_
|
|
2
2
|
|
|
3
|
-
**_fate_** is a modern data client for
|
|
3
|
+
**_fate_** is a modern data client for the web inspired by [Relay](https://relay.dev/) and [GraphQL](https://graphql.org/). It combines view composition, normalized caching, data masking, Async React features, and type-safe data fetching.
|
|
4
4
|
|
|
5
5
|
Check out [fate.technology](https://fate.technology) for documentation, examples, and guides.
|
|
6
6
|
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"@nkzw/stack": "^2.3.2",
|
|
28
28
|
"@radix-ui/react-slot": "^1.3.3",
|
|
29
29
|
"@trpc/client": "^11.18.0",
|
|
30
|
-
"@void/react": "^0.
|
|
31
|
-
"better-auth": "1.7.
|
|
30
|
+
"@void/react": "^0.24.0",
|
|
31
|
+
"better-auth": "^1.7.7",
|
|
32
32
|
"class-variance-authority": "^0.7.1",
|
|
33
33
|
"clsx": "^2.1.1",
|
|
34
34
|
"fbtee": "^5.0.0",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"react-error-boundary": "^6.1.3",
|
|
39
39
|
"react-fate": "latest",
|
|
40
40
|
"tailwind-merge": "^3.6.0",
|
|
41
|
-
"void": "^0.
|
|
41
|
+
"void": "^0.24.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@nkzw/fbtee-compiler": "^5.0.0",
|
|
@@ -63,7 +63,7 @@ export default function HomePage() {
|
|
|
63
63
|
<div className="space-y-3">
|
|
64
64
|
<h1 className="text-3xl leading-tight font-semibold text-balance lg:text-4xl">
|
|
65
65
|
<fbt desc="Description of fate">
|
|
66
|
-
fate is a modern data client for
|
|
66
|
+
fate is a modern data client for the web inspired by Relay and GraphQL.
|
|
67
67
|
</fbt>
|
|
68
68
|
</h1>
|
|
69
69
|
<p className="text-sm text-white/80 lg:text-base">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Slot } from '@radix-ui/react-slot';
|
|
2
2
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
|
-
import { type ButtonHTMLAttributes,
|
|
3
|
+
import { type ButtonHTMLAttributes, useOptimistic, useTransition } from 'react';
|
|
4
4
|
import { useFormStatus } from 'react-dom';
|
|
5
5
|
import cx from '../lib/cx.tsx';
|
|
6
6
|
|
|
@@ -66,7 +66,6 @@ const AsyncButton = ({
|
|
|
66
66
|
children,
|
|
67
67
|
className,
|
|
68
68
|
disabled,
|
|
69
|
-
pendingPlaceholder = '...',
|
|
70
69
|
size,
|
|
71
70
|
variant,
|
|
72
71
|
...props
|
|
@@ -74,7 +73,6 @@ const AsyncButton = ({
|
|
|
74
73
|
VariantProps<typeof buttonVariants> & {
|
|
75
74
|
action?: () => Promise<unknown> | void;
|
|
76
75
|
asChild?: boolean;
|
|
77
|
-
pendingPlaceholder?: ReactNode;
|
|
78
76
|
}) => {
|
|
79
77
|
const Component = asChild ? Slot : 'button';
|
|
80
78
|
|
|
@@ -100,7 +98,7 @@ const AsyncButton = ({
|
|
|
100
98
|
onClick={onClick}
|
|
101
99
|
{...props}
|
|
102
100
|
>
|
|
103
|
-
{
|
|
101
|
+
{children}
|
|
104
102
|
</Component>
|
|
105
103
|
);
|
|
106
104
|
};
|
|
@@ -50,7 +50,7 @@ export default function Header() {
|
|
|
50
50
|
<span className="italic">fate</span>
|
|
51
51
|
</span>
|
|
52
52
|
<p className="hidden text-xs text-muted-foreground sm:block">
|
|
53
|
-
<fbt desc="fate library tagline">A modern data client for
|
|
53
|
+
<fbt desc="fate library tagline">A modern data client for the web.</fbt>
|
|
54
54
|
</p>
|
|
55
55
|
</div>
|
|
56
56
|
</Stack>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "fate-app",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
|
-
"description": "fate is a modern data client for
|
|
5
|
+
"description": "fate is a modern data client for the web.",
|
|
6
6
|
"author": "Christoph Nakazawa <christoph.pojer@gmail.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"@nkzw/define-env": "^1.1.0",
|
|
27
27
|
"@nkzw/fate": "latest",
|
|
28
28
|
"@trpc/server": "^11.18.0",
|
|
29
|
-
"better-auth": "1.7.
|
|
29
|
+
"better-auth": "^1.7.7",
|
|
30
30
|
"drizzle-orm": "^0.45.3",
|
|
31
31
|
"hono": "^4.13.5",
|
|
32
|
-
"pg": "^8.23.
|
|
32
|
+
"pg": "^8.23.1",
|
|
33
33
|
"zod": "^4.4.3"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _fate_
|
|
2
2
|
|
|
3
|
-
**_fate_** is a modern data client for
|
|
3
|
+
**_fate_** is a modern data client for the web inspired by [Relay](https://relay.dev/) and [GraphQL](https://graphql.org/). It combines view composition, normalized caching, data masking, Async React features, and type-safe data fetching.
|
|
4
4
|
|
|
5
5
|
Check out [fate.technology](https://fate.technology) for documentation, examples, and guides.
|
|
6
6
|
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"@nkzw/define-env": "^1.1.0",
|
|
27
27
|
"@nkzw/stack": "^2.3.2",
|
|
28
28
|
"@radix-ui/react-slot": "^1.3.3",
|
|
29
|
-
"@void/react": "^0.
|
|
30
|
-
"better-auth": "1.7.
|
|
29
|
+
"@void/react": "^0.24.0",
|
|
30
|
+
"better-auth": "^1.7.7",
|
|
31
31
|
"class-variance-authority": "^0.7.1",
|
|
32
32
|
"clsx": "^2.1.1",
|
|
33
33
|
"fbtee": "^5.0.0",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"react-error-boundary": "^6.1.3",
|
|
39
39
|
"react-fate": "latest",
|
|
40
40
|
"tailwind-merge": "^3.6.0",
|
|
41
|
-
"void": "^0.
|
|
41
|
+
"void": "^0.24.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@nkzw/fbtee-compiler": "^5.0.0",
|
|
@@ -63,7 +63,7 @@ export default function HomePage() {
|
|
|
63
63
|
<div className="space-y-3">
|
|
64
64
|
<h1 className="text-3xl leading-tight font-semibold text-balance lg:text-4xl">
|
|
65
65
|
<fbt desc="Description of fate">
|
|
66
|
-
fate is a modern data client for
|
|
66
|
+
fate is a modern data client for the web inspired by Relay and GraphQL.
|
|
67
67
|
</fbt>
|
|
68
68
|
</h1>
|
|
69
69
|
<p className="text-sm text-white/80 lg:text-base">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Slot } from '@radix-ui/react-slot';
|
|
2
2
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
|
-
import { type ButtonHTMLAttributes,
|
|
3
|
+
import { type ButtonHTMLAttributes, useOptimistic, useTransition } from 'react';
|
|
4
4
|
import { useFormStatus } from 'react-dom';
|
|
5
5
|
import cx from '../lib/cx.tsx';
|
|
6
6
|
|
|
@@ -66,7 +66,6 @@ const AsyncButton = ({
|
|
|
66
66
|
children,
|
|
67
67
|
className,
|
|
68
68
|
disabled,
|
|
69
|
-
pendingPlaceholder = '...',
|
|
70
69
|
size,
|
|
71
70
|
variant,
|
|
72
71
|
...props
|
|
@@ -74,7 +73,6 @@ const AsyncButton = ({
|
|
|
74
73
|
VariantProps<typeof buttonVariants> & {
|
|
75
74
|
action?: () => Promise<unknown> | void;
|
|
76
75
|
asChild?: boolean;
|
|
77
|
-
pendingPlaceholder?: ReactNode;
|
|
78
76
|
}) => {
|
|
79
77
|
const Component = asChild ? Slot : 'button';
|
|
80
78
|
|
|
@@ -100,7 +98,7 @@ const AsyncButton = ({
|
|
|
100
98
|
onClick={onClick}
|
|
101
99
|
{...props}
|
|
102
100
|
>
|
|
103
|
-
{
|
|
101
|
+
{children}
|
|
104
102
|
</Component>
|
|
105
103
|
);
|
|
106
104
|
};
|
|
@@ -50,7 +50,7 @@ export default function Header() {
|
|
|
50
50
|
<span className="italic">fate</span>
|
|
51
51
|
</span>
|
|
52
52
|
<p className="hidden text-xs text-muted-foreground sm:block">
|
|
53
|
-
<fbt desc="fate library tagline">A modern data client for
|
|
53
|
+
<fbt desc="fate library tagline">A modern data client for the web.</fbt>
|
|
54
54
|
</p>
|
|
55
55
|
</div>
|
|
56
56
|
</Stack>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "fate-app",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
|
-
"description": "fate is a modern data client for
|
|
5
|
+
"description": "fate is a modern data client for the web.",
|
|
6
6
|
"author": "Christoph Nakazawa <christoph.pojer@gmail.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _fate_
|
|
2
2
|
|
|
3
|
-
**_fate_** is a modern data client for
|
|
3
|
+
**_fate_** is a modern data client for the web inspired by [Relay](https://relay.dev/) and [GraphQL](https://graphql.org/). It combines view composition, normalized caching, data masking, Async React features, and type-safe data fetching.
|
|
4
4
|
|
|
5
5
|
## Existing GraphQL Template
|
|
6
6
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "fate-app",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
|
-
"description": "fate is a modern data client for
|
|
5
|
+
"description": "fate is a modern data client for the web.",
|
|
6
6
|
"author": "Christoph Nakazawa <christoph.pojer@gmail.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@nkzw/fate": "latest",
|
|
26
|
-
"@void/react": "^0.
|
|
26
|
+
"@void/react": "^0.24.0",
|
|
27
27
|
"fbtee": "^5.0.0",
|
|
28
28
|
"graphql-sse": "^2.6.1",
|
|
29
29
|
"lucide-react": "^1.34.0",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"react-dom": "^19.3.0",
|
|
32
32
|
"react-error-boundary": "^6.1.3",
|
|
33
33
|
"react-fate": "latest",
|
|
34
|
-
"void": "^0.
|
|
34
|
+
"void": "^0.24.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@nkzw/eslint-plugin": "^2.0.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _fate_
|
|
2
2
|
|
|
3
|
-
**_fate_** is a modern data client for
|
|
3
|
+
**_fate_** is a modern data client for the web inspired by [Relay](https://relay.dev/) and [GraphQL](https://graphql.org/). It combines view composition, normalized caching, data masking, Async React features, and type-safe data fetching.
|
|
4
4
|
|
|
5
5
|
Check out [fate.technology](https://fate.technology) for documentation, examples, and guides.
|
|
6
6
|
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"@nkzw/define-env": "^1.1.0",
|
|
27
27
|
"@nkzw/stack": "^2.3.2",
|
|
28
28
|
"@radix-ui/react-slot": "^1.3.3",
|
|
29
|
-
"@void/react": "^0.
|
|
30
|
-
"better-auth": "1.7.
|
|
29
|
+
"@void/react": "^0.24.0",
|
|
30
|
+
"better-auth": "^1.7.7",
|
|
31
31
|
"class-variance-authority": "^0.7.1",
|
|
32
32
|
"clsx": "^2.1.1",
|
|
33
33
|
"fbtee": "^5.0.0",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"react-error-boundary": "^6.1.3",
|
|
38
38
|
"react-fate": "latest",
|
|
39
39
|
"tailwind-merge": "^3.6.0",
|
|
40
|
-
"void": "^0.
|
|
40
|
+
"void": "^0.24.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@nkzw/fbtee-compiler": "^5.0.0",
|
|
@@ -63,7 +63,7 @@ export default function HomePage() {
|
|
|
63
63
|
<div className="space-y-3">
|
|
64
64
|
<h1 className="text-3xl leading-tight font-semibold text-balance lg:text-4xl">
|
|
65
65
|
<fbt desc="Description of fate">
|
|
66
|
-
fate is a modern data client for
|
|
66
|
+
fate is a modern data client for the web inspired by Relay and GraphQL.
|
|
67
67
|
</fbt>
|
|
68
68
|
</h1>
|
|
69
69
|
<p className="text-sm text-white/80 lg:text-base">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Slot } from '@radix-ui/react-slot';
|
|
2
2
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
|
-
import { type ButtonHTMLAttributes,
|
|
3
|
+
import { type ButtonHTMLAttributes, useOptimistic, useTransition } from 'react';
|
|
4
4
|
import { useFormStatus } from 'react-dom';
|
|
5
5
|
import cx from '../lib/cx.tsx';
|
|
6
6
|
|
|
@@ -66,7 +66,6 @@ const AsyncButton = ({
|
|
|
66
66
|
children,
|
|
67
67
|
className,
|
|
68
68
|
disabled,
|
|
69
|
-
pendingPlaceholder = '...',
|
|
70
69
|
size,
|
|
71
70
|
variant,
|
|
72
71
|
...props
|
|
@@ -74,7 +73,6 @@ const AsyncButton = ({
|
|
|
74
73
|
VariantProps<typeof buttonVariants> & {
|
|
75
74
|
action?: () => Promise<unknown> | void;
|
|
76
75
|
asChild?: boolean;
|
|
77
|
-
pendingPlaceholder?: ReactNode;
|
|
78
76
|
}) => {
|
|
79
77
|
const Component = asChild ? Slot : 'button';
|
|
80
78
|
|
|
@@ -100,7 +98,7 @@ const AsyncButton = ({
|
|
|
100
98
|
onClick={onClick}
|
|
101
99
|
{...props}
|
|
102
100
|
>
|
|
103
|
-
{
|
|
101
|
+
{children}
|
|
104
102
|
</Component>
|
|
105
103
|
);
|
|
106
104
|
};
|
|
@@ -50,7 +50,7 @@ export default function Header() {
|
|
|
50
50
|
<span className="italic">fate</span>
|
|
51
51
|
</span>
|
|
52
52
|
<p className="hidden text-xs text-muted-foreground sm:block">
|
|
53
|
-
<fbt desc="fate library tagline">A modern data client for
|
|
53
|
+
<fbt desc="fate library tagline">A modern data client for the web.</fbt>
|
|
54
54
|
</p>
|
|
55
55
|
</div>
|
|
56
56
|
</Stack>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "fate-app",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
|
-
"description": "fate is a modern data client for
|
|
5
|
+
"description": "fate is a modern data client for the web.",
|
|
6
6
|
"author": "Christoph Nakazawa <christoph.pojer@gmail.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"@nkzw/core": "^1.3.1",
|
|
25
25
|
"@nkzw/define-env": "^1.1.0",
|
|
26
26
|
"@nkzw/fate": "latest",
|
|
27
|
-
"better-auth": "1.7.
|
|
27
|
+
"better-auth": "^1.7.7",
|
|
28
28
|
"drizzle-orm": "^0.45.3",
|
|
29
29
|
"hono": "^4.13.5",
|
|
30
|
-
"pg": "^8.23.
|
|
30
|
+
"pg": "^8.23.1",
|
|
31
31
|
"zod": "^4.4.3"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _fate_
|
|
2
2
|
|
|
3
|
-
**_fate_** is a modern data client for
|
|
3
|
+
**_fate_** is a modern data client for the web inspired by [Relay](https://relay.dev/) and [GraphQL](https://graphql.org/). It combines view composition, normalized caching, data masking, Async React features, and type-safe data fetching.
|
|
4
4
|
|
|
5
5
|
Check out [fate.technology](https://fate.technology) for documentation, examples, and guides.
|
|
6
6
|
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"@nkzw/stack": "^2.3.2",
|
|
28
28
|
"@radix-ui/react-slot": "^1.3.3",
|
|
29
29
|
"@trpc/client": "^11.18.0",
|
|
30
|
-
"@void/react": "^0.
|
|
31
|
-
"better-auth": "1.7.
|
|
30
|
+
"@void/react": "^0.24.0",
|
|
31
|
+
"better-auth": "^1.7.7",
|
|
32
32
|
"class-variance-authority": "^0.7.1",
|
|
33
33
|
"clsx": "^2.1.1",
|
|
34
34
|
"fbtee": "^5.0.0",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"react-error-boundary": "^6.1.3",
|
|
39
39
|
"react-fate": "latest",
|
|
40
40
|
"tailwind-merge": "^3.6.0",
|
|
41
|
-
"void": "^0.
|
|
41
|
+
"void": "^0.24.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@nkzw/fbtee-compiler": "^5.0.0",
|
|
@@ -63,7 +63,7 @@ export default function HomePage() {
|
|
|
63
63
|
<div className="space-y-3">
|
|
64
64
|
<h1 className="text-3xl leading-tight font-semibold text-balance lg:text-4xl">
|
|
65
65
|
<fbt desc="Description of fate">
|
|
66
|
-
fate is a modern data client for
|
|
66
|
+
fate is a modern data client for the web inspired by Relay and GraphQL.
|
|
67
67
|
</fbt>
|
|
68
68
|
</h1>
|
|
69
69
|
<p className="text-sm text-white/80 lg:text-base">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Slot } from '@radix-ui/react-slot';
|
|
2
2
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
|
-
import { type ButtonHTMLAttributes,
|
|
3
|
+
import { type ButtonHTMLAttributes, useOptimistic, useTransition } from 'react';
|
|
4
4
|
import { useFormStatus } from 'react-dom';
|
|
5
5
|
import cx from '../lib/cx.tsx';
|
|
6
6
|
|
|
@@ -66,7 +66,6 @@ const AsyncButton = ({
|
|
|
66
66
|
children,
|
|
67
67
|
className,
|
|
68
68
|
disabled,
|
|
69
|
-
pendingPlaceholder = '...',
|
|
70
69
|
size,
|
|
71
70
|
variant,
|
|
72
71
|
...props
|
|
@@ -74,7 +73,6 @@ const AsyncButton = ({
|
|
|
74
73
|
VariantProps<typeof buttonVariants> & {
|
|
75
74
|
action?: () => Promise<unknown> | void;
|
|
76
75
|
asChild?: boolean;
|
|
77
|
-
pendingPlaceholder?: ReactNode;
|
|
78
76
|
}) => {
|
|
79
77
|
const Component = asChild ? Slot : 'button';
|
|
80
78
|
|
|
@@ -100,7 +98,7 @@ const AsyncButton = ({
|
|
|
100
98
|
onClick={onClick}
|
|
101
99
|
{...props}
|
|
102
100
|
>
|
|
103
|
-
{
|
|
101
|
+
{children}
|
|
104
102
|
</Component>
|
|
105
103
|
);
|
|
106
104
|
};
|
|
@@ -50,7 +50,7 @@ export default function Header() {
|
|
|
50
50
|
<span className="italic">fate</span>
|
|
51
51
|
</span>
|
|
52
52
|
<p className="hidden text-xs text-muted-foreground sm:block">
|
|
53
|
-
<fbt desc="fate library tagline">A modern data client for
|
|
53
|
+
<fbt desc="fate library tagline">A modern data client for the web.</fbt>
|
|
54
54
|
</p>
|
|
55
55
|
</div>
|
|
56
56
|
</Stack>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "fate-app",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
|
-
"description": "fate is a modern data client for
|
|
5
|
+
"description": "fate is a modern data client for the web.",
|
|
6
6
|
"author": "Christoph Nakazawa <christoph.pojer@gmail.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "fate-app",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
|
-
"description": "fate is a modern data client for
|
|
5
|
+
"description": "fate is a modern data client for the web.",
|
|
6
6
|
"author": "Christoph Nakazawa <christoph.pojer@gmail.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"@nkzw/fate": "latest",
|
|
30
30
|
"@nkzw/stack": "^2.3.2",
|
|
31
31
|
"@radix-ui/react-slot": "^1.3.3",
|
|
32
|
-
"@void/react": "^0.
|
|
33
|
-
"better-auth": "1.7.
|
|
32
|
+
"@void/react": "^0.24.0",
|
|
33
|
+
"better-auth": "^1.7.7",
|
|
34
34
|
"class-variance-authority": "^0.7.1",
|
|
35
35
|
"clsx": "^2.1.1",
|
|
36
36
|
"drizzle-orm": "^0.45.3",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"react-error-boundary": "^6.1.3",
|
|
42
42
|
"react-fate": "latest",
|
|
43
43
|
"tailwind-merge": "^3.6.0",
|
|
44
|
-
"void": "^0.
|
|
44
|
+
"void": "^0.24.0",
|
|
45
45
|
"void-fate": "latest",
|
|
46
46
|
"zod": "^4.4.3"
|
|
47
47
|
},
|
|
@@ -127,7 +127,7 @@ export default function HomePage() {
|
|
|
127
127
|
<div className="space-y-3">
|
|
128
128
|
<h1 className="text-3xl leading-tight font-semibold text-balance lg:text-4xl">
|
|
129
129
|
<fbt desc="Description of fate">
|
|
130
|
-
fate is a modern data client for
|
|
130
|
+
fate is a modern data client for the web inspired by Relay and GraphQL.
|
|
131
131
|
</fbt>{' '}
|
|
132
132
|
</h1>
|
|
133
133
|
<p className="text-sm text-white/80 lg:text-base">
|