create-better-t-stack 2.24.4 → 2.25.0
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/dist/index.js +3786 -28
- package/package.json +2 -3
- package/templates/addons/turborepo/turbo.json.hbs +18 -0
- package/templates/auth/web/nuxt/app/components/SignInForm.vue +1 -1
- package/templates/auth/web/nuxt/app/components/SignUpForm.vue +1 -1
- package/templates/auth/web/react/next/src/components/sign-in-form.tsx +1 -1
- package/templates/auth/web/react/next/src/components/sign-up-form.tsx +1 -1
- package/templates/auth/web/react/react-router/src/components/sign-in-form.tsx +1 -1
- package/templates/auth/web/react/react-router/src/components/sign-up-form.tsx +1 -1
- package/templates/auth/web/react/tanstack-router/src/components/sign-in-form.tsx +1 -1
- package/templates/auth/web/react/tanstack-router/src/components/sign-up-form.tsx +1 -1
- package/templates/auth/web/react/tanstack-start/src/components/sign-in-form.tsx +1 -1
- package/templates/auth/web/react/tanstack-start/src/components/sign-up-form.tsx +1 -1
- package/templates/auth/web/solid/src/components/sign-in-form.tsx +1 -1
- package/templates/auth/web/solid/src/components/sign-up-form.tsx +1 -1
- package/templates/auth/web/svelte/src/components/SignInForm.svelte +1 -1
- package/templates/auth/web/svelte/src/components/SignUpForm.svelte +1 -1
- package/templates/backend/server/server-base/package.json.hbs +1 -1
- package/templates/db-setup/docker-compose/mongodb/docker-compose.yml.hbs +23 -0
- package/templates/db-setup/docker-compose/mysql/docker-compose.yml.hbs +24 -0
- package/templates/db-setup/docker-compose/postgres/docker-compose.yml.hbs +23 -0
- package/templates/examples/todo/server/drizzle/base/src/routers/todo.ts.hbs +2 -2
- package/templates/examples/todo/server/mongoose/base/src/routers/todo.ts.hbs +2 -2
- package/templates/examples/todo/server/prisma/base/src/routers/todo.ts.hbs +2 -2
- package/templates/frontend/nuxt/package.json.hbs +1 -1
- package/templates/frontend/react/next/package.json.hbs +1 -1
- package/templates/frontend/react/react-router/package.json.hbs +1 -1
- package/templates/frontend/react/tanstack-router/package.json.hbs +1 -1
- package/templates/frontend/react/tanstack-start/package.json.hbs +2 -2
- package/templates/frontend/solid/package.json.hbs +1 -1
- package/templates/frontend/svelte/package.json.hbs +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-better-t-stack",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.25.0",
|
|
4
4
|
"description": "A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -64,8 +64,7 @@
|
|
|
64
64
|
"picocolors": "^1.1.1",
|
|
65
65
|
"posthog-node": "^5.1.1",
|
|
66
66
|
"trpc-cli": "^0.9.2",
|
|
67
|
-
"ts-morph": "^26.0.0"
|
|
68
|
-
"zod": "^3.25.67"
|
|
67
|
+
"ts-morph": "^26.0.0"
|
|
69
68
|
},
|
|
70
69
|
"devDependencies": {
|
|
71
70
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -39,5 +39,23 @@
|
|
|
39
39
|
"persistent": true
|
|
40
40
|
}
|
|
41
41
|
{{/unless}}{{/if}}
|
|
42
|
+
{{#if (eq dbSetup "docker")}},
|
|
43
|
+
"db:start": {
|
|
44
|
+
"cache": false,
|
|
45
|
+
"persistent": true
|
|
46
|
+
},
|
|
47
|
+
"db:stop": {
|
|
48
|
+
"cache": false,
|
|
49
|
+
"persistent": true
|
|
50
|
+
},
|
|
51
|
+
"db:watch": {
|
|
52
|
+
"cache": false,
|
|
53
|
+
"persistent": true
|
|
54
|
+
},
|
|
55
|
+
"db:down": {
|
|
56
|
+
"cache": false,
|
|
57
|
+
"persistent": true
|
|
58
|
+
}
|
|
59
|
+
{{/if}}
|
|
42
60
|
}
|
|
43
61
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { authClient } from "@/lib/auth-client";
|
|
2
2
|
import { useForm } from "@tanstack/react-form";
|
|
3
3
|
import { toast } from "sonner";
|
|
4
|
-
import z from "zod
|
|
4
|
+
import z from "zod";
|
|
5
5
|
import Loader from "./loader";
|
|
6
6
|
import { Button } from "./ui/button";
|
|
7
7
|
import { Input } from "./ui/input";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { authClient } from "@/lib/auth-client";
|
|
2
2
|
import { useForm } from "@tanstack/react-form";
|
|
3
3
|
import { toast } from "sonner";
|
|
4
|
-
import z from "zod
|
|
4
|
+
import z from "zod";
|
|
5
5
|
import Loader from "./loader";
|
|
6
6
|
import { Button } from "./ui/button";
|
|
7
7
|
import { Input } from "./ui/input";
|
|
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|
|
2
2
|
import { useForm } from "@tanstack/react-form";
|
|
3
3
|
import { useNavigate } from "react-router";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
|
-
import z from "zod
|
|
5
|
+
import z from "zod";
|
|
6
6
|
import Loader from "./loader";
|
|
7
7
|
import { Button } from "./ui/button";
|
|
8
8
|
import { Input } from "./ui/input";
|
|
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|
|
2
2
|
import { useForm } from "@tanstack/react-form";
|
|
3
3
|
import { useNavigate } from "react-router";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
|
-
import z from "zod
|
|
5
|
+
import z from "zod";
|
|
6
6
|
import Loader from "./loader";
|
|
7
7
|
import { Button } from "./ui/button";
|
|
8
8
|
import { Input } from "./ui/input";
|
|
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|
|
2
2
|
import { useForm } from "@tanstack/react-form";
|
|
3
3
|
import { useNavigate } from "@tanstack/react-router";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
|
-
import z from "zod
|
|
5
|
+
import z from "zod";
|
|
6
6
|
import Loader from "./loader";
|
|
7
7
|
import { Button } from "./ui/button";
|
|
8
8
|
import { Input } from "./ui/input";
|
|
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|
|
2
2
|
import { useForm } from "@tanstack/react-form";
|
|
3
3
|
import { useNavigate } from "@tanstack/react-router";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
|
-
import z from "zod
|
|
5
|
+
import z from "zod";
|
|
6
6
|
import Loader from "./loader";
|
|
7
7
|
import { Button } from "./ui/button";
|
|
8
8
|
import { Input } from "./ui/input";
|
|
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|
|
2
2
|
import { useForm } from "@tanstack/react-form";
|
|
3
3
|
import { useNavigate } from "@tanstack/react-router";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
|
-
import z from "zod
|
|
5
|
+
import z from "zod";
|
|
6
6
|
import Loader from "./loader";
|
|
7
7
|
import { Button } from "./ui/button";
|
|
8
8
|
import { Input } from "./ui/input";
|
|
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|
|
2
2
|
import { useForm } from "@tanstack/react-form";
|
|
3
3
|
import { useNavigate } from "@tanstack/react-router";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
|
-
import z from "zod
|
|
5
|
+
import z from "zod";
|
|
6
6
|
import Loader from "./loader";
|
|
7
7
|
import { Button } from "./ui/button";
|
|
8
8
|
import { Input } from "./ui/input";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { authClient } from "@/lib/auth-client";
|
|
2
2
|
import { createForm } from "@tanstack/solid-form";
|
|
3
3
|
import { useNavigate } from "@tanstack/solid-router";
|
|
4
|
-
import z from "zod
|
|
4
|
+
import z from "zod";
|
|
5
5
|
import { For } from "solid-js";
|
|
6
6
|
|
|
7
7
|
export default function SignInForm({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { authClient } from "@/lib/auth-client";
|
|
2
2
|
import { createForm } from "@tanstack/solid-form";
|
|
3
3
|
import { useNavigate } from "@tanstack/solid-router";
|
|
4
|
-
import z from "zod
|
|
4
|
+
import z from "zod";
|
|
5
5
|
import { For } from "solid-js";
|
|
6
6
|
|
|
7
7
|
export default function SignUpForm({
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: {{projectName}}
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
mongodb:
|
|
5
|
+
image: mongo
|
|
6
|
+
container_name: {{projectName}}-mongodb
|
|
7
|
+
environment:
|
|
8
|
+
MONGO_INITDB_ROOT_USERNAME: root
|
|
9
|
+
MONGO_INITDB_ROOT_PASSWORD: password
|
|
10
|
+
MONGO_INITDB_DATABASE: {{projectName}}
|
|
11
|
+
ports:
|
|
12
|
+
- "27017:27017"
|
|
13
|
+
volumes:
|
|
14
|
+
- {{projectName}}_mongodb_data:/data/db
|
|
15
|
+
healthcheck:
|
|
16
|
+
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
|
|
17
|
+
interval: 10s
|
|
18
|
+
timeout: 5s
|
|
19
|
+
retries: 5
|
|
20
|
+
restart: unless-stopped
|
|
21
|
+
|
|
22
|
+
volumes:
|
|
23
|
+
{{projectName}}_mongodb_data:
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: {{projectName}}
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
mysql:
|
|
5
|
+
image: mysql
|
|
6
|
+
container_name: {{projectName}}-mysql
|
|
7
|
+
environment:
|
|
8
|
+
MYSQL_ROOT_PASSWORD: password
|
|
9
|
+
MYSQL_DATABASE: {{projectName}}
|
|
10
|
+
MYSQL_USER: user
|
|
11
|
+
MYSQL_PASSWORD: password
|
|
12
|
+
ports:
|
|
13
|
+
- "3306:3306"
|
|
14
|
+
volumes:
|
|
15
|
+
- {{projectName}}_mysql_data:/var/lib/mysql
|
|
16
|
+
healthcheck:
|
|
17
|
+
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
|
18
|
+
interval: 10s
|
|
19
|
+
timeout: 5s
|
|
20
|
+
retries: 5
|
|
21
|
+
restart: unless-stopped
|
|
22
|
+
|
|
23
|
+
volumes:
|
|
24
|
+
{{projectName}}_mysql_data:
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: {{projectName}}
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
postgres:
|
|
5
|
+
image: postgres
|
|
6
|
+
container_name: {{projectName}}-postgres
|
|
7
|
+
environment:
|
|
8
|
+
POSTGRES_DB: {{projectName}}
|
|
9
|
+
POSTGRES_USER: postgres
|
|
10
|
+
POSTGRES_PASSWORD: password
|
|
11
|
+
ports:
|
|
12
|
+
- "5432:5432"
|
|
13
|
+
volumes:
|
|
14
|
+
- {{projectName}}_postgres_data:/var/lib/postgresql/data
|
|
15
|
+
healthcheck:
|
|
16
|
+
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
17
|
+
interval: 10s
|
|
18
|
+
timeout: 5s
|
|
19
|
+
retries: 5
|
|
20
|
+
restart: unless-stopped
|
|
21
|
+
|
|
22
|
+
volumes:
|
|
23
|
+
{{projectName}}_postgres_data:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{{#if (eq api "orpc")}}
|
|
2
2
|
import { eq } from "drizzle-orm";
|
|
3
|
-
import z from "zod
|
|
3
|
+
import z from "zod";
|
|
4
4
|
import { db } from "../db";
|
|
5
5
|
import { todo } from "../db/schema/todo";
|
|
6
6
|
import { publicProcedure } from "../lib/orpc";
|
|
@@ -41,7 +41,7 @@ export const todoRouter = {
|
|
|
41
41
|
{{/if}}
|
|
42
42
|
|
|
43
43
|
{{#if (eq api "trpc")}}
|
|
44
|
-
import z from "zod
|
|
44
|
+
import z from "zod";
|
|
45
45
|
import { router, publicProcedure } from "../lib/trpc";
|
|
46
46
|
import { todo } from "../db/schema/todo";
|
|
47
47
|
import { eq } from "drizzle-orm";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{#if (eq api "orpc")}}
|
|
2
|
-
import z from "zod
|
|
2
|
+
import z from "zod";
|
|
3
3
|
import { publicProcedure } from "../lib/orpc";
|
|
4
4
|
import { Todo } from "../db/models/todo.model";
|
|
5
5
|
|
|
@@ -33,7 +33,7 @@ export const todoRouter = {
|
|
|
33
33
|
{{/if}}
|
|
34
34
|
|
|
35
35
|
{{#if (eq api "trpc")}}
|
|
36
|
-
import z from "zod
|
|
36
|
+
import z from "zod";
|
|
37
37
|
import { router, publicProcedure } from "../lib/trpc";
|
|
38
38
|
import { Todo } from "../db/models/todo.model";
|
|
39
39
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{#if (eq api "orpc")}}
|
|
2
|
-
import z from "zod
|
|
2
|
+
import z from "zod";
|
|
3
3
|
import prisma from "../../prisma";
|
|
4
4
|
import { publicProcedure } from "../lib/orpc";
|
|
5
5
|
|
|
@@ -53,7 +53,7 @@ export const todoRouter = {
|
|
|
53
53
|
|
|
54
54
|
{{#if (eq api "trpc")}}
|
|
55
55
|
import { TRPCError } from "@trpc/server";
|
|
56
|
-
import z from "zod
|
|
56
|
+
import z from "zod";
|
|
57
57
|
import prisma from "../../prisma";
|
|
58
58
|
import { publicProcedure, router } from "../lib/trpc";
|
|
59
59
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"tailwind-merge": "^3.3.1",
|
|
28
28
|
"tw-animate-css": "^1.2.5",
|
|
29
29
|
"vite-tsconfig-paths": "^5.1.4",
|
|
30
|
-
"zod": "^
|
|
30
|
+
"zod": "^4.0.2"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@tanstack/react-router-devtools": "^1.121.0-alpha.27",
|
|
@@ -41,4 +41,4 @@
|
|
|
41
41
|
"vite": "^7.0.2",
|
|
42
42
|
"web-vitals": "^5.0.3"
|
|
43
43
|
}
|
|
44
|
-
}
|
|
44
|
+
}
|