create-fate 1.5.2 → 1.6.1
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/README.md +3 -10
- package/bin/create-fate.mjs +16 -52
- package/package.json +1 -1
- package/templates/fate/README.md +1 -2
- package/templates/fate/_shared/vue-app/package.json +4 -3
- package/templates/fate/_shared/vue-app/vite.config.ts +18 -11
- package/templates/fate/drizzle/README.md +1 -1
- package/templates/fate/drizzle/client/package.json +6 -6
- package/templates/fate/graphql/README.md +1 -1
- package/templates/fate/graphql/client/package.json +6 -6
- package/templates/fate/graphql/server/.gitignore +5 -0
- package/templates/fate/graphql/server/node_modules/.bin/esbuild +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/eslint +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/fate +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/intent +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/jiti +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/nft +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/nodemon +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/oxfmt +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/oxlint +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/prisma +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/prisma-json-types-generator +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/prisma-pothos-types +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/tsc +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/tsgolint +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/tsx +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/vitest +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/vp +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/vpr +22 -0
- package/templates/fate/graphql/server/node_modules/.bin/yaml +22 -0
- package/templates/fate/graphql-client/README.md +12 -2
- package/templates/fate/graphql-client/env.ts +6 -0
- package/templates/fate/graphql-client/package.json +6 -6
- package/templates/fate/http/README.md +1 -1
- package/templates/fate/http/client/package.json +6 -6
- package/templates/fate/prisma/README.md +1 -1
- package/templates/fate/prisma/client/package.json +6 -6
- package/templates/fate/void/README.md +13 -1
- package/templates/fate/void/db/migrations/20260918045815_legal_dragon_lord.sql +15 -0
- package/templates/fate/{cloudflare/server/db/migrations/meta/20260508073357_snapshot.json → void/db/migrations/meta/20260918045815_snapshot.json} +174 -124
- package/templates/fate/void/db/migrations/meta/_journal.json +7 -0
- package/templates/fate/void/package.json +6 -7
- package/templates/fate/cloudflare/.github/workflows/push.yml +0 -27
- package/templates/fate/cloudflare/.vite-hooks/pre-commit +0 -1
- package/templates/fate/cloudflare/.vscode/extensions.json +0 -12
- package/templates/fate/cloudflare/.vscode/settings.json +0 -25
- package/templates/fate/cloudflare/AGENTS.md +0 -55
- package/templates/fate/cloudflare/README.md +0 -137
- package/templates/fate/cloudflare/_gitignore +0 -20
- package/templates/fate/cloudflare/client/node_modules/.bin/browserslist +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/cf-wrangler +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/drizzle-kit +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/esbuild +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/fate +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/fbtee +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/intent +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/jiti +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/oxlint +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/rolldown +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/tsc +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/tsx +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/vitest +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/void +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/vp +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/vpr +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/workerd +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/wrangler +0 -22
- package/templates/fate/cloudflare/client/node_modules/.bin/wrangler2 +0 -22
- package/templates/fate/cloudflare/client/package.json +0 -62
- package/templates/fate/cloudflare/client/pages/index.tsx +0 -96
- package/templates/fate/cloudflare/client/pages/layout.tsx +0 -68
- package/templates/fate/cloudflare/client/pages/login.tsx +0 -107
- package/templates/fate/cloudflare/client/pages/post/[id].tsx +0 -22
- package/templates/fate/cloudflare/client/pages/search.tsx +0 -99
- package/templates/fate/cloudflare/client/public/icon.svg +0 -1
- package/templates/fate/cloudflare/client/src/App.css +0 -153
- package/templates/fate/cloudflare/client/src/lib/AvailableLanguages.tsx +0 -5
- package/templates/fate/cloudflare/client/src/lib/LocaleContext.tsx +0 -61
- package/templates/fate/cloudflare/client/src/lib/cx.tsx +0 -6
- package/templates/fate/cloudflare/client/src/lib/env.tsx +0 -5
- package/templates/fate/cloudflare/client/src/ui/Badge.tsx +0 -31
- package/templates/fate/cloudflare/client/src/ui/Button.tsx +0 -108
- package/templates/fate/cloudflare/client/src/ui/Card.tsx +0 -32
- package/templates/fate/cloudflare/client/src/ui/CommentCard.tsx +0 -75
- package/templates/fate/cloudflare/client/src/ui/Error.tsx +0 -19
- package/templates/fate/cloudflare/client/src/ui/H2.tsx +0 -15
- package/templates/fate/cloudflare/client/src/ui/H3.tsx +0 -20
- package/templates/fate/cloudflare/client/src/ui/Header.tsx +0 -98
- package/templates/fate/cloudflare/client/src/ui/Input.tsx +0 -17
- package/templates/fate/cloudflare/client/src/ui/Link.tsx +0 -11
- package/templates/fate/cloudflare/client/src/ui/LocaleSwitcher.tsx +0 -34
- package/templates/fate/cloudflare/client/src/ui/PostCard.tsx +0 -303
- package/templates/fate/cloudflare/client/src/ui/Section.tsx +0 -23
- package/templates/fate/cloudflare/client/src/ui/UserCard.tsx +0 -131
- package/templates/fate/cloudflare/client/src/user/AuthClient.tsx +0 -6
- package/templates/fate/cloudflare/client/start.mjs +0 -11
- package/templates/fate/cloudflare/client/translations/de-DE.json +0 -632
- package/templates/fate/cloudflare/client/translations/ja-JP.json +0 -632
- package/templates/fate/cloudflare/client/vite.config.ts +0 -41
- package/templates/fate/cloudflare/client/void.json +0 -29
- package/templates/fate/cloudflare/package.json +0 -42
- package/templates/fate/cloudflare/pnpm-workspace.yaml +0 -41
- package/templates/fate/cloudflare/server/.env.example +0 -1
- package/templates/fate/cloudflare/server/db/db.ts +0 -30
- package/templates/fate/cloudflare/server/db/migrations/20260508073357_initial_schema.sql +0 -134
- package/templates/fate/cloudflare/server/db/migrations/20260508120500_seed_cloudflare_demo.sql +0 -170
- package/templates/fate/cloudflare/server/db/migrations/meta/_journal.json +0 -20
- package/templates/fate/cloudflare/server/db/queries.ts +0 -211
- package/templates/fate/cloudflare/server/db/schema.ts +0 -331
- package/templates/fate/cloudflare/server/node_modules/.bin/cf-wrangler +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/drizzle-kit +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/esbuild +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/fate +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/intent +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/jiti +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/oxfmt +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/oxlint +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/tsc +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/tsx +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/vitest +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/vp +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/vpr +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/workerd +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/wrangler +0 -22
- package/templates/fate/cloudflare/server/node_modules/.bin/wrangler2 +0 -22
- package/templates/fate/cloudflare/server/package.json +0 -34
- package/templates/fate/cloudflare/server/src/fate/commentPermissions.ts +0 -17
- package/templates/fate/cloudflare/server/src/fate/context.ts +0 -15
- package/templates/fate/cloudflare/server/src/fate/live.ts +0 -7
- package/templates/fate/cloudflare/server/src/fate/server.ts +0 -414
- package/templates/fate/cloudflare/server/src/fate/views.ts +0 -164
- package/templates/fate/cloudflare/server/src/index.ts +0 -80
- package/templates/fate/cloudflare/server/src/lib/auth.ts +0 -64
- package/templates/fate/cloudflare/server/src/lib/origins.ts +0 -17
- package/templates/fate/cloudflare/server/src/router.ts +0 -2
- package/templates/fate/cloudflare/server/src/user/SessionUser.tsx +0 -17
- package/templates/fate/cloudflare/server/tsconfig.json +0 -10
- package/templates/fate/cloudflare/server/wrangler.jsonc +0 -29
- package/templates/fate/cloudflare/tsconfig.json +0 -24
- package/templates/fate/cloudflare/vite.config.ts +0 -75
- package/templates/fate/graphql-client/.env.example +0 -3
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/prisma-json-types-generator@5.1.1_@prisma+client@7.10.0_prisma@8.0.0-rc.12_@types+node@_ed7edad184a45dc2522b44fee1651fc5/node_modules/prisma-json-types-generator/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/prisma-json-types-generator@5.1.1_@prisma+client@7.10.0_prisma@8.0.0-rc.12_@types+node@_ed7edad184a45dc2522b44fee1651fc5/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/prisma-json-types-generator@5.1.1_@prisma+client@7.10.0_prisma@8.0.0-rc.12_@types+node@_ed7edad184a45dc2522b44fee1651fc5/node_modules/prisma-json-types-generator/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/prisma-json-types-generator@5.1.1_@prisma+client@7.10.0_prisma@8.0.0-rc.12_@types+node@_ed7edad184a45dc2522b44fee1651fc5/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/prisma-json-types-generator@5.1.1_@prisma+client@7.10.0_prisma@8.0.0-rc.12_@types+node@_ed7edad184a45dc2522b44fee1651fc5/node_modules/prisma-json-types-generator/index.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/prisma-json-types-generator@5.1.1_@prisma+client@7.10.0_prisma@8.0.0-rc.12_@types+node@_ed7edad184a45dc2522b44fee1651fc5/node_modules/prisma-json-types-generator/index.js" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/prisma-json-types-generator@5.1.1_@prisma+client@7.10.0_prisma@8.0.0-rc.12_@types+node@_ed7edad184a45dc2522b44fee1651fc5/node_modules/prisma-json-types-generator/index.js
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/@pothos+plugin-prisma@4.15.0_@pothos+core@4.13.1_graphql@17.0.2__@prisma+client@7.10.0__233d97ab518cf9f22d3a9beed11eaaf2/node_modules/@pothos/plugin-prisma/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/@pothos+plugin-prisma@4.15.0_@pothos+core@4.13.1_graphql@17.0.2__@prisma+client@7.10.0__233d97ab518cf9f22d3a9beed11eaaf2/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/@pothos+plugin-prisma@4.15.0_@pothos+core@4.13.1_graphql@17.0.2__@prisma+client@7.10.0__233d97ab518cf9f22d3a9beed11eaaf2/node_modules/@pothos/plugin-prisma/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/@pothos+plugin-prisma@4.15.0_@pothos+core@4.13.1_graphql@17.0.2__@prisma+client@7.10.0__233d97ab518cf9f22d3a9beed11eaaf2/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/@pothos+plugin-prisma@4.15.0_@pothos+core@4.13.1_graphql@17.0.2__@prisma+client@7.10.0__233d97ab518cf9f22d3a9beed11eaaf2/node_modules/@pothos/plugin-prisma/bin/generator.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/@pothos+plugin-prisma@4.15.0_@pothos+core@4.13.1_graphql@17.0.2__@prisma+client@7.10.0__233d97ab518cf9f22d3a9beed11eaaf2/node_modules/@pothos/plugin-prisma/bin/generator.js" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/@pothos+plugin-prisma@4.15.0_@pothos+core@4.13.1_graphql@17.0.2__@prisma+client@7.10.0__233d97ab518cf9f22d3a9beed11eaaf2/node_modules/@pothos/plugin-prisma/bin/generator.js
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/typescript@7.0.2/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/typescript@7.0.2/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/bin/tsc" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/bin/tsc" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/typescript@7.0.2/node_modules/typescript/bin/tsc
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules/oxlint-tsgolint/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules/oxlint-tsgolint/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules/oxlint-tsgolint/bin/tsgolint.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules/oxlint-tsgolint/bin/tsgolint.js" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules/oxlint-tsgolint/bin/tsgolint.js
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/tsx@4.23.12/node_modules/tsx/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/tsx@4.23.12/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/tsx@4.23.12/node_modules/tsx/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/tsx@4.23.12/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/tsx@4.23.12/node_modules/tsx/dist/cli.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/tsx@4.23.12/node_modules/tsx/dist/cli.mjs" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/tsx@4.23.12/node_modules/tsx/dist/cli.mjs
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vitest@4.1.11_@types+node@26.4.0_@vitest+browser-preview@4.1.11_@voidzero-dev+vite-plus_edd1a4add939afe258bf188a768a0327/node_modules/vitest/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vitest@4.1.11_@types+node@26.4.0_@vitest+browser-preview@4.1.11_@voidzero-dev+vite-plus_edd1a4add939afe258bf188a768a0327/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vitest@4.1.11_@types+node@26.4.0_@vitest+browser-preview@4.1.11_@voidzero-dev+vite-plus_edd1a4add939afe258bf188a768a0327/node_modules/vitest/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vitest@4.1.11_@types+node@26.4.0_@vitest+browser-preview@4.1.11_@voidzero-dev+vite-plus_edd1a4add939afe258bf188a768a0327/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/vitest@4.1.11_@types+node@26.4.0_@vitest+browser-preview@4.1.11_@voidzero-dev+vite-plus_edd1a4add939afe258bf188a768a0327/node_modules/vitest/vitest.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/vitest@4.1.11_@types+node@26.4.0_@vitest+browser-preview@4.1.11_@voidzero-dev+vite-plus_edd1a4add939afe258bf188a768a0327/node_modules/vitest/vitest.mjs" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vitest@4.1.11_@types+node@26.4.0_@vitest+browser-preview@4.1.11_@voidzero-dev+vite-plus_edd1a4add939afe258bf188a768a0327/node_modules/vitest/vitest.mjs
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/bin/vp" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/bin/vp" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/bin/vp
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/bin/vpr" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/bin/vpr" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/vite-plus@0.3.0_@types+node@26.4.0_@voidzero-dev+vite-plus-core@0.3.0_@types+node@26.4._7fba0511d8df10da0ecb713ae55bd175/node_modules/vite-plus/bin/vpr
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/yaml@2.9.0/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/yaml@2.9.0/node_modules:/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/bin.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/bin.mjs" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/cpojer/Projects/fate/packages/create-fate/templates/fate/graphql/node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/bin.mjs
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
Use this template when you want to use _fate_ with an existing GraphQL server.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
vp create fate
|
|
10
|
+
vp create fate -- --template graphql-client
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## Connect Your Server
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
`env.ts` declares the public endpoint variables. Its sample GraphQL URL is a placeholder; replace it with your server's URL. For local development, create a gitignored `.env` file to override the default:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
VITE_GRAPHQL_URL="https://api.example.com/graphql"
|
|
@@ -24,6 +24,16 @@ If your server supports GraphQL SSE, set the live endpoint too:
|
|
|
24
24
|
VITE_GRAPHQL_LIVE_URL="https://api.example.com/graphql/stream"
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
The live endpoint is optional; omit it or leave it empty to disable live updates. Void validates both URLs and uses `.env` only for local development. Keep the variable schema in `env.ts` and local values in `.env`.
|
|
28
|
+
|
|
29
|
+
For production, supply your public endpoints in the build environment or change their defaults in `env.ts`:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
VITE_GRAPHQL_URL="https://api.example.com/graphql" vp run build
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
These `VITE_*` values are embedded in the client bundle. Do not put credentials in them. Production builds do not read `.env`.
|
|
36
|
+
|
|
27
37
|
Then edit `src/fate/graphql.ts`. This file is the mapping layer between your GraphQL schema and _fate_:
|
|
28
38
|
|
|
29
39
|
- `dataView(...)` describes the fields React components are allowed to select.
|
|
@@ -23,15 +23,15 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@nkzw/fate": "latest",
|
|
26
|
-
"@void/react": "^0.
|
|
26
|
+
"@void/react": "^0.20.1",
|
|
27
27
|
"fbtee": "^5.0.0",
|
|
28
28
|
"graphql-sse": "^2.6.1",
|
|
29
29
|
"lucide-react": "^1.34.0",
|
|
30
|
-
"react": "^19.
|
|
31
|
-
"react-dom": "^19.
|
|
30
|
+
"react": "^19.3.0",
|
|
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.20.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@nkzw/eslint-plugin": "^2.0.0",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"@swc/core": "^1.16.1",
|
|
43
43
|
"@tailwindcss/vite": "^4.3.3",
|
|
44
44
|
"@types/node": "^26.4.0",
|
|
45
|
-
"@types/react": "^19.
|
|
46
|
-
"@types/react-dom": "^19.
|
|
45
|
+
"@types/react": "^19.3.0",
|
|
46
|
+
"@types/react-dom": "^19.3.0",
|
|
47
47
|
"@vitejs/plugin-react": "^6.1.0",
|
|
48
48
|
"oxc-transform-react": "^0.147.0",
|
|
49
49
|
"tailwindcss": "^4.3.3",
|
|
@@ -26,26 +26,26 @@
|
|
|
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.
|
|
29
|
+
"@void/react": "^0.20.1",
|
|
30
30
|
"better-auth": "1.7.2",
|
|
31
31
|
"class-variance-authority": "^0.7.1",
|
|
32
32
|
"clsx": "^2.1.1",
|
|
33
33
|
"fbtee": "^5.0.0",
|
|
34
34
|
"lucide-react": "^1.34.0",
|
|
35
|
-
"react": "^19.
|
|
36
|
-
"react-dom": "^19.
|
|
35
|
+
"react": "^19.3.0",
|
|
36
|
+
"react-dom": "^19.3.0",
|
|
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.20.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@nkzw/fbtee-compiler": "^5.0.0",
|
|
44
44
|
"@nkzw/vite-plugin-fbtee": "^5.0.0",
|
|
45
45
|
"@tailwindcss/vite": "^4.3.3",
|
|
46
46
|
"@types/node": "^26.4.0",
|
|
47
|
-
"@types/react": "^19.
|
|
48
|
-
"@types/react-dom": "^19.
|
|
47
|
+
"@types/react": "^19.3.0",
|
|
48
|
+
"@types/react-dom": "^19.3.0",
|
|
49
49
|
"@vitejs/plugin-react": "^6.1.0",
|
|
50
50
|
"oxc-transform-react": "^0.147.0",
|
|
51
51
|
"tailwindcss": "^4.3.3",
|
|
@@ -27,18 +27,18 @@
|
|
|
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.
|
|
30
|
+
"@void/react": "^0.20.1",
|
|
31
31
|
"better-auth": "1.7.2",
|
|
32
32
|
"class-variance-authority": "^0.7.1",
|
|
33
33
|
"clsx": "^2.1.1",
|
|
34
34
|
"fbtee": "^5.0.0",
|
|
35
35
|
"lucide-react": "^1.34.0",
|
|
36
|
-
"react": "^19.
|
|
37
|
-
"react-dom": "^19.
|
|
36
|
+
"react": "^19.3.0",
|
|
37
|
+
"react-dom": "^19.3.0",
|
|
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.20.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@nkzw/fbtee-compiler": "^5.0.0",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"@tailwindcss/vite": "^4.3.3",
|
|
47
47
|
"@trpc/server": "^11.18.0",
|
|
48
48
|
"@types/node": "^26.4.0",
|
|
49
|
-
"@types/react": "^19.
|
|
50
|
-
"@types/react-dom": "^19.
|
|
49
|
+
"@types/react": "^19.3.0",
|
|
50
|
+
"@types/react-dom": "^19.3.0",
|
|
51
51
|
"@vitejs/plugin-react": "^6.1.0",
|
|
52
52
|
"oxc-transform-react": "^0.147.0",
|
|
53
53
|
"tailwindcss": "^4.3.3",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Create a new fate app with Vite+:
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
vp create fate
|
|
6
|
+
vp create fate -- --template void
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
This template uses the Void pages router with Drizzle, `void-fate`, `react-fate`, Better Auth, Tailwind, and React Compiler.
|
|
@@ -54,6 +54,18 @@ Common commands from the project root:
|
|
|
54
54
|
- `vp test` runs the test suite.
|
|
55
55
|
- `vp run build` builds the app.
|
|
56
56
|
|
|
57
|
+
## Cloudflare Deployment
|
|
58
|
+
|
|
59
|
+
Deploy directly to your own Cloudflare account:
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
vp exec void deploy --platform cloudflare
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Void signs you into Cloudflare when needed, provisions resources, applies the checked-in database migrations, and deploys the app. Commit the resource IDs saved in `wrangler.jsonc` for subsequent deployments. Keep the template's `VOID_LIVE` Durable Object binding and class migration for live updates.
|
|
66
|
+
|
|
67
|
+
After changing the database schema or auth configuration, run `vp run db:generate`, review and commit the migration, then deploy. The template's migrations include the production Better Auth schema.
|
|
68
|
+
|
|
57
69
|
## Translations
|
|
58
70
|
|
|
59
71
|
The React app uses fbtee 5 with its native Oxc Vite plugin and CLI. Setup and builds generate the runtime translation files automatically.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
CREATE TABLE `verification` (
|
|
2
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`identifier` text NOT NULL,
|
|
4
|
+
`value` text NOT NULL,
|
|
5
|
+
`expiresAt` integer NOT NULL,
|
|
6
|
+
`createdAt` integer NOT NULL,
|
|
7
|
+
`updatedAt` integer NOT NULL
|
|
8
|
+
);
|
|
9
|
+
--> statement-breakpoint
|
|
10
|
+
CREATE INDEX `verification_identifier_idx` ON `verification` (`identifier`);--> statement-breakpoint
|
|
11
|
+
ALTER TABLE `session` ADD COLUMN `impersonatedBy` text;
|
|
12
|
+
--> statement-breakpoint
|
|
13
|
+
CREATE INDEX `session_userId_idx` ON `session` (`userId`);
|
|
14
|
+
--> statement-breakpoint
|
|
15
|
+
CREATE INDEX `account_userId_idx` ON `account` (`userId`);
|