mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
fix zod v4
This commit is contained in:
5
.changeset/thin-bottles-grow.md
Normal file
5
.changeset/thin-bottles-grow.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"create-better-t-stack": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
fix zod v4 madness
|
||||||
@@ -76,10 +76,11 @@ export const dependencyVersionMap = {
|
|||||||
|
|
||||||
turbo: "^2.4.2",
|
turbo: "^2.4.2",
|
||||||
|
|
||||||
ai: "^4.2.8",
|
ai: "^4.3.16",
|
||||||
"@ai-sdk/google": "^1.2.3",
|
"@ai-sdk/google": "^1.2.3",
|
||||||
"@ai-sdk/vue": "^1.2.8",
|
"@ai-sdk/vue": "^1.2.8",
|
||||||
"@ai-sdk/svelte": "^2.1.9",
|
"@ai-sdk/svelte": "^2.1.9",
|
||||||
|
"@ai-sdk/react": "^1.2.12",
|
||||||
|
|
||||||
"@prisma/extension-accelerate": "^1.3.0",
|
"@prisma/extension-accelerate": "^1.3.0",
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,11 @@ export async function setupExamples(config: ProjectConfig): Promise<void> {
|
|||||||
|
|
||||||
const hasNuxt = frontend.includes("nuxt");
|
const hasNuxt = frontend.includes("nuxt");
|
||||||
const hasSvelte = frontend.includes("svelte");
|
const hasSvelte = frontend.includes("svelte");
|
||||||
|
const hasReact =
|
||||||
|
frontend.includes("react-router") ||
|
||||||
|
frontend.includes("tanstack-router") ||
|
||||||
|
frontend.includes("next") ||
|
||||||
|
frontend.includes("tanstack-start");
|
||||||
|
|
||||||
if (clientDirExists) {
|
if (clientDirExists) {
|
||||||
const dependencies: AvailableDependencies[] = ["ai"];
|
const dependencies: AvailableDependencies[] = ["ai"];
|
||||||
@@ -31,7 +36,8 @@ export async function setupExamples(config: ProjectConfig): Promise<void> {
|
|||||||
dependencies.push("@ai-sdk/vue");
|
dependencies.push("@ai-sdk/vue");
|
||||||
} else if (hasSvelte) {
|
} else if (hasSvelte) {
|
||||||
dependencies.push("@ai-sdk/svelte");
|
dependencies.push("@ai-sdk/svelte");
|
||||||
} else {
|
} else if (hasReact) {
|
||||||
|
dependencies.push("@ai-sdk/react");
|
||||||
}
|
}
|
||||||
await addPackageDependency({
|
await addPackageDependency({
|
||||||
dependencies,
|
dependencies,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { z } from 'zod'
|
import z from 'zod/v4'
|
||||||
const {$authClient} = useNuxtApp()
|
const {$authClient} = useNuxtApp()
|
||||||
import type { FormSubmitEvent } from '#ui/types'
|
import type { FormSubmitEvent } from '#ui/types'
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { z } from 'zod'
|
import z from 'zod/v4'
|
||||||
import type { FormSubmitEvent } from '#ui/types'
|
import type { FormSubmitEvent } from '#ui/types'
|
||||||
const {$authClient} = useNuxtApp()
|
const {$authClient} = useNuxtApp()
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { authClient } from "@/lib/auth-client";
|
import { authClient } from "@/lib/auth-client";
|
||||||
import { useForm } from "@tanstack/react-form";
|
import { useForm } from "@tanstack/react-form";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import Loader from "./loader";
|
import Loader from "./loader";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Input } from "./ui/input";
|
import { Input } from "./ui/input";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { authClient } from "@/lib/auth-client";
|
import { authClient } from "@/lib/auth-client";
|
||||||
import { useForm } from "@tanstack/react-form";
|
import { useForm } from "@tanstack/react-form";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import Loader from "./loader";
|
import Loader from "./loader";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Input } from "./ui/input";
|
import { Input } from "./ui/input";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|||||||
import { useForm } from "@tanstack/react-form";
|
import { useForm } from "@tanstack/react-form";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import Loader from "./loader";
|
import Loader from "./loader";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Input } from "./ui/input";
|
import { Input } from "./ui/input";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|||||||
import { useForm } from "@tanstack/react-form";
|
import { useForm } from "@tanstack/react-form";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import Loader from "./loader";
|
import Loader from "./loader";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Input } from "./ui/input";
|
import { Input } from "./ui/input";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|||||||
import { useForm } from "@tanstack/react-form";
|
import { useForm } from "@tanstack/react-form";
|
||||||
import { useNavigate } from "@tanstack/react-router";
|
import { useNavigate } from "@tanstack/react-router";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import Loader from "./loader";
|
import Loader from "./loader";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Input } from "./ui/input";
|
import { Input } from "./ui/input";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|||||||
import { useForm } from "@tanstack/react-form";
|
import { useForm } from "@tanstack/react-form";
|
||||||
import { useNavigate } from "@tanstack/react-router";
|
import { useNavigate } from "@tanstack/react-router";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import Loader from "./loader";
|
import Loader from "./loader";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Input } from "./ui/input";
|
import { Input } from "./ui/input";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|||||||
import { useForm } from "@tanstack/react-form";
|
import { useForm } from "@tanstack/react-form";
|
||||||
import { useNavigate } from "@tanstack/react-router";
|
import { useNavigate } from "@tanstack/react-router";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import Loader from "./loader";
|
import Loader from "./loader";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Input } from "./ui/input";
|
import { Input } from "./ui/input";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { authClient } from "@/lib/auth-client";
|
|||||||
import { useForm } from "@tanstack/react-form";
|
import { useForm } from "@tanstack/react-form";
|
||||||
import { useNavigate } from "@tanstack/react-router";
|
import { useNavigate } from "@tanstack/react-router";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import Loader from "./loader";
|
import Loader from "./loader";
|
||||||
import { Button } from "./ui/button";
|
import { Button } from "./ui/button";
|
||||||
import { Input } from "./ui/input";
|
import { Input } from "./ui/input";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { authClient } from "@/lib/auth-client";
|
import { authClient } from "@/lib/auth-client";
|
||||||
import { createForm } from "@tanstack/solid-form";
|
import { createForm } from "@tanstack/solid-form";
|
||||||
import { useNavigate } from "@tanstack/solid-router";
|
import { useNavigate } from "@tanstack/solid-router";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import { For } from "solid-js";
|
import { For } from "solid-js";
|
||||||
|
|
||||||
export default function SignInForm({
|
export default function SignInForm({
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { authClient } from "@/lib/auth-client";
|
import { authClient } from "@/lib/auth-client";
|
||||||
import { createForm } from "@tanstack/solid-form";
|
import { createForm } from "@tanstack/solid-form";
|
||||||
import { useNavigate } from "@tanstack/solid-router";
|
import { useNavigate } from "@tanstack/solid-router";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import { For } from "solid-js";
|
import { For } from "solid-js";
|
||||||
|
|
||||||
export default function SignUpForm({
|
export default function SignUpForm({
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { createForm } from '@tanstack/svelte-form';
|
import { createForm } from '@tanstack/svelte-form';
|
||||||
import { z } from 'zod';
|
import z from 'zod/v4';
|
||||||
import { authClient } from '$lib/auth-client';
|
import { authClient } from '$lib/auth-client';
|
||||||
import { goto } from '$app/navigation';
|
import { goto } from '$app/navigation';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { createForm } from '@tanstack/svelte-form';
|
import { createForm } from '@tanstack/svelte-form';
|
||||||
import { z } from 'zod';
|
import z from 'zod/v4';
|
||||||
import { authClient } from '$lib/auth-client';
|
import { authClient } from '$lib/auth-client';
|
||||||
import { goto } from '$app/navigation';
|
import { goto } from '$app/navigation';
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dotenv": "^16.4.7",
|
"dotenv": "^16.4.7",
|
||||||
"zod": "^3.24.2"
|
"zod": "^3.25.16"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"tsc-alias": "^1.8.11",
|
"tsc-alias": "^1.8.11",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{{#if (eq api "orpc")}}
|
{{#if (eq api "orpc")}}
|
||||||
import { eq } from "drizzle-orm";
|
import { eq } from "drizzle-orm";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import { db } from "../db";
|
import { db } from "../db";
|
||||||
import { todo } from "../db/schema/todo";
|
import { todo } from "../db/schema/todo";
|
||||||
import { publicProcedure } from "../lib/orpc";
|
import { publicProcedure } from "../lib/orpc";
|
||||||
@@ -42,7 +42,7 @@ export const todoRouter = {
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (eq api "trpc")}}
|
{{#if (eq api "trpc")}}
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import { router, publicProcedure } from "../lib/trpc";
|
import { router, publicProcedure } from "../lib/trpc";
|
||||||
import { todo } from "../db/schema/todo";
|
import { todo } from "../db/schema/todo";
|
||||||
import { eq } from "drizzle-orm";
|
import { eq } from "drizzle-orm";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{{#if (eq api "orpc")}}
|
{{#if (eq api "orpc")}}
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import { publicProcedure } from "../lib/orpc";
|
import { publicProcedure } from "../lib/orpc";
|
||||||
import { Todo } from "../db/models/todo.model";
|
import { Todo } from "../db/models/todo.model";
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ export const todoRouter = {
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (eq api "trpc")}}
|
{{#if (eq api "trpc")}}
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import { router, publicProcedure } from "../lib/trpc";
|
import { router, publicProcedure } from "../lib/trpc";
|
||||||
import { Todo } from "../db/models/todo.model";
|
import { Todo } from "../db/models/todo.model";
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{{#if (eq api "orpc")}}
|
{{#if (eq api "orpc")}}
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import prisma from "../../prisma";
|
import prisma from "../../prisma";
|
||||||
import { publicProcedure } from "../lib/orpc";
|
import { publicProcedure } from "../lib/orpc";
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ export const todoRouter = {
|
|||||||
|
|
||||||
{{#if (eq api "trpc")}}
|
{{#if (eq api "trpc")}}
|
||||||
import { TRPCError } from "@trpc/server";
|
import { TRPCError } from "@trpc/server";
|
||||||
import { z } from "zod";
|
import z from "zod/v4";
|
||||||
import prisma from "../../prisma";
|
import prisma from "../../prisma";
|
||||||
import { publicProcedure, router } from "../lib/trpc";
|
import { publicProcedure, router } from "../lib/trpc";
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"typescript": "^5.6.3",
|
"typescript": "^5.6.3",
|
||||||
"vue": "^3.5.13",
|
"vue": "^3.5.13",
|
||||||
"vue-router": "^4.5.0",
|
"vue-router": "^4.5.0",
|
||||||
"zod": "^3.24.3"
|
"zod": "^3.25.16"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tanstack/vue-query-devtools": "^5.74.5",
|
"@tanstack/vue-query-devtools": "^5.74.5",
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"sonner": "^2.0.3",
|
"sonner": "^2.0.3",
|
||||||
"tailwind-merge": "^3.2.0",
|
"tailwind-merge": "^3.2.0",
|
||||||
"tw-animate-css": "^1.2.5",
|
"tw-animate-css": "^1.2.5",
|
||||||
"zod": "^3.24.2"
|
"zod": "^3.25.16"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/postcss": "^4",
|
"@tailwindcss/postcss": "^4",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"sonner": "^2.0.3",
|
"sonner": "^2.0.3",
|
||||||
"tailwind-merge": "^3.1.0",
|
"tailwind-merge": "^3.1.0",
|
||||||
"tw-animate-css": "^1.2.5",
|
"tw-animate-css": "^1.2.5",
|
||||||
"zod": "^3.24.3"
|
"zod": "^3.25.16"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@react-router/dev": "^7.4.1",
|
"@react-router/dev": "^7.4.1",
|
||||||
|
|||||||
@@ -39,6 +39,6 @@
|
|||||||
"sonner": "^1.7.4",
|
"sonner": "^1.7.4",
|
||||||
"tailwind-merge": "^2.6.0",
|
"tailwind-merge": "^2.6.0",
|
||||||
"tw-animate-css": "^1.2.5",
|
"tw-animate-css": "^1.2.5",
|
||||||
"zod": "^3.24.2"
|
"zod": "^3.25.16"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
"tw-animate-css": "^1.2.5",
|
"tw-animate-css": "^1.2.5",
|
||||||
"vinxi": "^0.5.3",
|
"vinxi": "^0.5.3",
|
||||||
"vite-tsconfig-paths": "^5.1.4",
|
"vite-tsconfig-paths": "^5.1.4",
|
||||||
"zod": "^3.24.2"
|
"zod": "^3.25.16"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tanstack/react-router-devtools": "^1.114.3",
|
"@tanstack/react-router-devtools": "^1.114.3",
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
"lucide-solid": "^0.507.0",
|
"lucide-solid": "^0.507.0",
|
||||||
"solid-js": "^1.9.4",
|
"solid-js": "^1.9.4",
|
||||||
"tailwindcss": "^4.0.6",
|
"tailwindcss": "^4.0.6",
|
||||||
"zod": "^3.24.3"
|
"zod": "^3.25.16"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"typescript": "^5.7.2",
|
"typescript": "^5.7.2",
|
||||||
|
|||||||
@@ -26,6 +26,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tanstack/svelte-form": "^1.7.0",
|
"@tanstack/svelte-form": "^1.7.0",
|
||||||
"@tanstack/svelte-query": "^5.74.4",
|
"@tanstack/svelte-query": "^5.74.4",
|
||||||
"zod": "^3.24.3"
|
"zod": "^3.25.16"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user