create-better-t-stack 2.49.1 → 2.50.0-canary.5b25d7db
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/cli.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{src-CKCxH6aF.js → src-Vtq3I-LI.js} +684 -372
- package/package.json +2 -1
- package/templates/api/orpc/fullstack/next/src/app/api/rpc/[[...rest]]/route.ts.hbs +50 -0
- package/templates/api/orpc/server/_gitignore +34 -0
- package/templates/api/orpc/server/package.json.hbs +24 -0
- package/templates/api/orpc/server/{base/src/lib → src}/context.ts.hbs +6 -6
- package/templates/{backend/server/server-base → api/orpc/server}/src/routers/index.ts.hbs +2 -2
- package/templates/api/orpc/server/tsconfig.json.hbs +10 -0
- package/templates/api/orpc/server/tsdown.config.ts.hbs +7 -0
- package/templates/api/orpc/web/nuxt/app/plugins/orpc.ts.hbs +1 -1
- package/templates/api/orpc/web/react/base/src/utils/orpc.ts.hbs +4 -2
- package/templates/api/orpc/web/solid/src/utils/orpc.ts.hbs +1 -1
- package/templates/api/orpc/web/svelte/src/lib/orpc.ts.hbs +1 -1
- package/templates/api/trpc/fullstack/next/src/app/api/trpc/[trpc]/route.ts.hbs +14 -0
- package/templates/api/trpc/server/_gitignore +34 -0
- package/templates/api/trpc/server/package.json.hbs +23 -0
- package/templates/api/trpc/server/{base/src/lib → src}/context.ts.hbs +6 -6
- package/templates/api/trpc/server/src/routers/index.ts.hbs +55 -0
- package/templates/api/trpc/server/tsconfig.json.hbs +13 -0
- package/templates/api/trpc/server/tsdown.config.ts.hbs +7 -0
- package/templates/api/trpc/web/react/base/src/utils/trpc.ts.hbs +6 -4
- package/templates/auth/better-auth/{server/next/src/app/api/auth/[...all]/route.ts → fullstack/next/src/app/api/auth/[...all]/route.ts.hbs} +1 -1
- package/templates/auth/better-auth/server/base/_gitignore +34 -0
- package/templates/auth/better-auth/server/base/package.json.hbs +24 -0
- package/templates/auth/better-auth/server/base/src/{lib/auth.ts.hbs → index.ts.hbs} +12 -12
- package/templates/auth/better-auth/server/base/tsconfig.json.hbs +13 -0
- package/templates/auth/better-auth/server/base/tsdown.config.ts.hbs +7 -0
- package/templates/auth/better-auth/web/react/base/src/lib/auth-client.ts.hbs +2 -0
- package/templates/auth/better-auth/web/react/next/src/app/dashboard/page.tsx.hbs +31 -0
- package/templates/auth/clerk/convex/web/react/tanstack-start/src/server.ts.hbs +1 -0
- package/templates/backend/server/{server-base → base}/package.json.hbs +0 -1
- package/templates/backend/server/{server-base → base}/tsconfig.json.hbs +5 -10
- package/templates/backend/server/base/tsdown.config.ts.hbs +14 -0
- package/templates/backend/server/elysia/src/index.ts.hbs +6 -6
- package/templates/backend/server/express/src/index.ts.hbs +6 -6
- package/templates/backend/server/fastify/src/index.ts.hbs +6 -6
- package/templates/backend/server/hono/src/index.ts.hbs +7 -7
- package/templates/base/_gitignore +47 -1
- package/templates/base/package.json.hbs +1 -3
- package/templates/base/tsconfig.base.json +23 -0
- package/templates/db/base/_gitignore +34 -0
- package/templates/db/base/package.json.hbs +23 -0
- package/templates/db/base/tsconfig.json.hbs +13 -0
- package/templates/db/base/tsdown.config.ts.hbs +7 -0
- package/templates/db/drizzle/mysql/drizzle.config.ts.hbs +11 -2
- package/templates/db/drizzle/mysql/src/{db/index.ts.hbs → index.ts.hbs} +1 -1
- package/templates/db/drizzle/postgres/drizzle.config.ts.hbs +11 -2
- package/templates/db/drizzle/postgres/src/{db/index.ts.hbs → index.ts.hbs} +1 -1
- package/templates/db/drizzle/sqlite/drizzle.config.ts.hbs +11 -2
- package/templates/db/drizzle/sqlite/src/{db/index.ts.hbs → index.ts.hbs} +1 -1
- package/templates/db/prisma/mongodb/prisma.config.ts.hbs +9 -1
- package/templates/db/prisma/mongodb/src/index.ts.hbs +5 -0
- package/templates/db/prisma/mysql/prisma.config.ts.hbs +9 -1
- package/templates/db/prisma/mysql/src/{db/index.ts.hbs → index.ts.hbs} +1 -1
- package/templates/db/prisma/postgres/prisma.config.ts.hbs +11 -3
- package/templates/db/prisma/postgres/src/{db/index.ts.hbs → index.ts.hbs} +1 -1
- package/templates/db/prisma/sqlite/prisma.config.ts.hbs +9 -1
- package/templates/db/prisma/sqlite/src/{db/index.ts.hbs → index.ts.hbs} +3 -3
- package/templates/deploy/wrangler/web/react/tanstack-start/wrangler.jsonc.hbs +1 -1
- package/templates/examples/ai/fullstack/next/src/app/api/ai/route.ts.hbs +15 -0
- package/templates/examples/todo/server/drizzle/base/src/routers/todo.ts.hbs +7 -7
- package/templates/examples/todo/server/mongoose/base/src/routers/todo.ts.hbs +4 -4
- package/templates/examples/todo/server/prisma/base/src/routers/todo.ts.hbs +4 -4
- package/templates/frontend/native/nativewind/tsconfig.json.hbs +1 -6
- package/templates/frontend/native/unistyles/tsconfig.json.hbs +1 -6
- package/templates/frontend/nuxt/tsconfig.json.hbs +0 -4
- package/templates/frontend/react/next/package.json.hbs +1 -1
- package/templates/frontend/react/next/tsconfig.json.hbs +0 -7
- package/templates/frontend/react/react-router/tsconfig.json.hbs +1 -6
- package/templates/frontend/react/tanstack-router/src/routes/__root.tsx.hbs +1 -1
- package/templates/frontend/react/tanstack-router/tsconfig.json.hbs +1 -6
- package/templates/frontend/react/tanstack-start/package.json.hbs +7 -7
- package/templates/frontend/react/tanstack-start/src/routes/__root.tsx.hbs +5 -5
- package/templates/frontend/react/tanstack-start/tsconfig.json.hbs +1 -6
- package/templates/frontend/react/tanstack-start/vite.config.ts.hbs +1 -1
- package/templates/frontend/solid/tsconfig.json.hbs +1 -6
- package/templates/frontend/svelte/tsconfig.json.hbs +1 -6
- package/templates/api/orpc/server/next/src/app/rpc/[...all]/route.ts.hbs +0 -52
- package/templates/api/trpc/server/next/src/app/trpc/[trpc]/route.ts +0 -14
- package/templates/backend/server/next/next-env.d.ts +0 -5
- package/templates/backend/server/next/next.config.ts +0 -7
- package/templates/backend/server/next/package.json.hbs +0 -27
- package/templates/backend/server/next/src/app/route.ts +0 -5
- package/templates/backend/server/next/src/middleware.ts +0 -19
- package/templates/backend/server/next/tsconfig.json.hbs +0 -33
- package/templates/db/prisma/mongodb/src/db/index.ts.hbs +0 -5
- package/templates/examples/ai/server/next/src/app/ai/route.ts.hbs +0 -15
- /package/templates/api/orpc/server/{base/src/lib/orpc.ts.hbs → src/index.ts.hbs} +0 -0
- /package/templates/api/trpc/server/{base/src/lib/trpc.ts.hbs → src/index.ts.hbs} +0 -0
- /package/templates/auth/better-auth/server/db/drizzle/mysql/src/{db/schema/auth.ts → schema/auth.ts.hbs} +0 -0
- /package/templates/auth/better-auth/server/db/drizzle/postgres/src/{db/schema/auth.ts → schema/auth.ts.hbs} +0 -0
- /package/templates/auth/better-auth/server/db/drizzle/sqlite/src/{db/schema/auth.ts → schema/auth.ts.hbs} +0 -0
- /package/templates/auth/better-auth/server/db/mongoose/mongodb/src/{db/models/auth.model.ts → models/auth.model.ts.hbs} +0 -0
- /package/templates/auth/better-auth/server/db/prisma/mongodb/prisma/schema/{auth.prisma → auth.prisma.hbs} +0 -0
- /package/templates/auth/better-auth/server/db/prisma/mysql/prisma/schema/{auth.prisma → auth.prisma.hbs} +0 -0
- /package/templates/auth/better-auth/server/db/prisma/postgres/prisma/schema/{auth.prisma → auth.prisma.hbs} +0 -0
- /package/templates/auth/better-auth/server/db/prisma/sqlite/prisma/schema/{auth.prisma → auth.prisma.hbs} +0 -0
- /package/templates/auth/better-auth/web/nuxt/app/middleware/{auth.ts → auth.ts.hbs} +0 -0
- /package/templates/backend/server/{server-base → base}/_gitignore +0 -0
- /package/templates/db/mongoose/mongodb/src/{db/index.ts.hbs → index.ts.hbs} +0 -0
- /package/templates/examples/todo/server/drizzle/mysql/src/{db/schema → schema}/todo.ts +0 -0
- /package/templates/examples/todo/server/drizzle/postgres/src/{db/schema → schema}/todo.ts +0 -0
- /package/templates/examples/todo/server/drizzle/sqlite/src/{db/schema → schema}/todo.ts +0 -0
- /package/templates/examples/todo/server/mongoose/mongodb/src/{db/models/todo.model.ts → models/todo.model.ts.hbs} +0 -0
- /package/templates/examples/todo/server/prisma/mongodb/prisma/schema/{todo.prisma → todo.prisma.hbs} +0 -0
- /package/templates/examples/todo/server/prisma/mysql/prisma/schema/{todo.prisma → todo.prisma.hbs} +0 -0
- /package/templates/examples/todo/server/prisma/postgres/prisma/schema/{todo.prisma → todo.prisma.hbs} +0 -0
- /package/templates/examples/todo/server/prisma/sqlite/prisma/schema/{todo.prisma → todo.prisma.hbs} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { google } from "@ai-sdk/google";
|
|
2
|
+
import { streamText, type UIMessage, convertToModelMessages } from "ai";
|
|
3
|
+
|
|
4
|
+
export const maxDuration = 30;
|
|
5
|
+
|
|
6
|
+
export async function POST(req: Request) {
|
|
7
|
+
const { messages }: { messages: UIMessage[] } = await req.json();
|
|
8
|
+
|
|
9
|
+
const result = streamText({
|
|
10
|
+
model: google("gemini-2.5-flash"),
|
|
11
|
+
messages: convertToModelMessages(messages),
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
return result.toUIMessageStreamResponse();
|
|
15
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{{#if (eq api "orpc")}}
|
|
2
|
-
import { eq } from "
|
|
2
|
+
import { eq } from "@{{projectName}}/db";
|
|
3
3
|
import z from "zod";
|
|
4
|
-
import { db } from "
|
|
5
|
-
import { todo } from "
|
|
6
|
-
import { publicProcedure } from "../
|
|
4
|
+
import { db } from "@{{projectName}}/db";
|
|
5
|
+
import { todo } from "@{{projectName}}/db/schema/todo";
|
|
6
|
+
import { publicProcedure } from "../index";
|
|
7
7
|
|
|
8
8
|
export const todoRouter = {
|
|
9
9
|
getAll: publicProcedure.handler(async () => {
|
|
@@ -39,10 +39,10 @@ export const todoRouter = {
|
|
|
39
39
|
|
|
40
40
|
{{#if (eq api "trpc")}}
|
|
41
41
|
import z from "zod";
|
|
42
|
-
import { router, publicProcedure } from "../
|
|
43
|
-
import { todo } from "
|
|
42
|
+
import { router, publicProcedure } from "../index";
|
|
43
|
+
import { todo } from "@{{projectName}}/db/schema/todo";
|
|
44
44
|
import { eq } from "drizzle-orm";
|
|
45
|
-
import { db } from "
|
|
45
|
+
import { db } from "@{{projectName}}/db";
|
|
46
46
|
|
|
47
47
|
export const todoRouter = router({
|
|
48
48
|
getAll: publicProcedure.query(async () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{#if (eq api "orpc")}}
|
|
2
2
|
import z from "zod";
|
|
3
|
-
import { publicProcedure } from "../
|
|
4
|
-
import { Todo } from "
|
|
3
|
+
import { publicProcedure } from "../index";
|
|
4
|
+
import { Todo } from "@{{projectName}}/db/models/todo.model";
|
|
5
5
|
|
|
6
6
|
export const todoRouter = {
|
|
7
7
|
getAll: publicProcedure.handler(async () => {
|
|
@@ -34,8 +34,8 @@ export const todoRouter = {
|
|
|
34
34
|
|
|
35
35
|
{{#if (eq api "trpc")}}
|
|
36
36
|
import z from "zod";
|
|
37
|
-
import { router, publicProcedure } from "../
|
|
38
|
-
import { Todo } from "
|
|
37
|
+
import { router, publicProcedure } from "../index";
|
|
38
|
+
import { Todo } from "@{{projectName}}/db/models/todo.model";
|
|
39
39
|
|
|
40
40
|
export const todoRouter = router({
|
|
41
41
|
getAll: publicProcedure.query(async () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{#if (eq api "orpc")}}
|
|
2
2
|
import z from "zod";
|
|
3
|
-
import prisma from "
|
|
4
|
-
import { publicProcedure } from "../
|
|
3
|
+
import prisma from "@{{projectName}}/db";
|
|
4
|
+
import { publicProcedure } from "../index";
|
|
5
5
|
|
|
6
6
|
export const todoRouter = {
|
|
7
7
|
getAll: publicProcedure.handler(async () => {
|
|
@@ -52,8 +52,8 @@ export const todoRouter = {
|
|
|
52
52
|
{{#if (eq api "trpc")}}
|
|
53
53
|
import { TRPCError } from "@trpc/server";
|
|
54
54
|
import z from "zod";
|
|
55
|
-
import prisma from "
|
|
56
|
-
import { publicProcedure, router } from "../
|
|
55
|
+
import prisma from "@{{projectName}}/db";
|
|
56
|
+
import { publicProcedure, router } from "../index";
|
|
57
57
|
|
|
58
58
|
export const todoRouter = router({
|
|
59
59
|
getAll: publicProcedure.query(async () => {
|
|
@@ -8,10 +8,5 @@
|
|
|
8
8
|
"@/*": ["*"]
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
-
"include": ["**/*.ts", "**/*.tsx", ".expo/types/**/*.ts", "expo-env.d.ts"]
|
|
12
|
-
{{#unless (or (eq backend "convex") (eq backend "none"))}}
|
|
13
|
-
"references": [{
|
|
14
|
-
"path": "../server"
|
|
15
|
-
}]
|
|
16
|
-
{{/unless}}
|
|
11
|
+
"include": ["**/*.ts", "**/*.tsx", ".expo/types/**/*.ts", "expo-env.d.ts"]
|
|
17
12
|
}
|
|
@@ -8,7 +8,7 @@ import type { QueryClient } from "@tanstack/react-query";
|
|
|
8
8
|
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
|
|
9
9
|
import { useState } from "react";
|
|
10
10
|
import { createTanstackQueryUtils } from "@orpc/tanstack-query";
|
|
11
|
-
import type { AppRouterClient } from "
|
|
11
|
+
import type { AppRouterClient } from "@{{projectName}}/api/routers/index";
|
|
12
12
|
import { createORPCClient } from "@orpc/client";
|
|
13
13
|
{{/if}}
|
|
14
14
|
{{#if (eq api "trpc")}}
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"radix-ui": "^1.4.2",
|
|
12
|
-
"@tanstack/react-form": "^1.
|
|
12
|
+
"@tanstack/react-form": "^1.23.5",
|
|
13
13
|
"@tailwindcss/vite": "^4.1.8",
|
|
14
14
|
"@tanstack/react-query": "^5.80.6",
|
|
15
|
-
"@tanstack/react-router": "^1.
|
|
16
|
-
"@tanstack/react-router-with-query": "^1.
|
|
17
|
-
"@tanstack/react-start": "^1.
|
|
18
|
-
"@tanstack/router-plugin": "^1.
|
|
15
|
+
"@tanstack/react-router": "^1.132.31",
|
|
16
|
+
"@tanstack/react-router-with-query": "^1.130.17",
|
|
17
|
+
"@tanstack/react-start": "^1.132.31",
|
|
18
|
+
"@tanstack/router-plugin": "^1.132.31",
|
|
19
19
|
"class-variance-authority": "^0.7.1",
|
|
20
20
|
"clsx": "^2.1.1",
|
|
21
21
|
"lucide-react": "^0.525.0",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
"zod": "^4.0.2"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@tanstack/react-router-devtools": "^1.
|
|
33
|
+
"@tanstack/react-router-devtools": "^1.132.31",
|
|
34
34
|
"@testing-library/dom": "^10.4.0",
|
|
35
35
|
"@testing-library/react": "^16.2.0",
|
|
36
36
|
"@types/react": "~19.1.10",
|
|
37
37
|
"@types/react-dom": "^19.0.4",
|
|
38
|
-
"@vitejs/plugin-react": "^5.0.
|
|
38
|
+
"@vitejs/plugin-react": "^5.0.4",
|
|
39
39
|
"jsdom": "^26.0.0",
|
|
40
40
|
"typescript": "^5.7.2",
|
|
41
41
|
"vite": "^7.0.2",
|
|
@@ -30,24 +30,24 @@ import Loader from "@/components/loader";
|
|
|
30
30
|
import { ClerkProvider, useAuth } from "@clerk/tanstack-react-start";
|
|
31
31
|
import { getAuth } from "@clerk/tanstack-react-start/server";
|
|
32
32
|
import { createServerFn } from "@tanstack/react-start";
|
|
33
|
-
import {
|
|
33
|
+
import { getRequest } from "@tanstack/react-start/server";
|
|
34
34
|
import { ConvexProviderWithClerk } from "convex/react-clerk";
|
|
35
35
|
|
|
36
36
|
const fetchClerkAuth = createServerFn({ method: "GET" }).handler(async () => {
|
|
37
|
-
const auth = await getAuth(
|
|
37
|
+
const auth = await getAuth(getRequest());
|
|
38
38
|
const token = await auth.getToken({ template: "convex" });
|
|
39
39
|
return { userId: auth.userId, token };
|
|
40
40
|
});
|
|
41
41
|
{{else if (and (eq backend "convex") (eq auth "better-auth"))}}
|
|
42
42
|
import { createServerFn } from "@tanstack/react-start";
|
|
43
|
-
import {
|
|
43
|
+
import { getRequest, getCookie } from "@tanstack/react-start/server";
|
|
44
44
|
import { ConvexBetterAuthProvider } from "@convex-dev/better-auth/react";
|
|
45
45
|
import { fetchSession, getCookieName } from "@convex-dev/better-auth/react-start";
|
|
46
46
|
import { authClient } from "@/lib/auth-client";
|
|
47
47
|
import { createAuth } from "@{{projectName}}/backend/convex/auth";
|
|
48
48
|
|
|
49
49
|
const fetchAuth = createServerFn({ method: "GET" }).handler(async () => {
|
|
50
|
-
const { session } = await fetchSession(
|
|
50
|
+
const { session } = await fetchSession(getRequest());
|
|
51
51
|
const sessionCookieName = getCookieName(createAuth);
|
|
52
52
|
const token = getCookie(sessionCookieName);
|
|
53
53
|
return {
|
|
@@ -66,7 +66,7 @@ export interface RouterAppContext {
|
|
|
66
66
|
{{else}}
|
|
67
67
|
{{#if (eq api "trpc")}}
|
|
68
68
|
import type { TRPCOptionsProxy } from "@trpc/tanstack-react-query";
|
|
69
|
-
import type { AppRouter } from "
|
|
69
|
+
import type { AppRouter } from "@{{projectName}}/api/routers/index";
|
|
70
70
|
export interface RouterAppContext {
|
|
71
71
|
trpc: TRPCOptionsProxy<AppRouter>;
|
|
72
72
|
queryClient: QueryClient;
|
|
@@ -10,12 +10,7 @@
|
|
|
10
10
|
"sourceMap": true,
|
|
11
11
|
"strict": true,
|
|
12
12
|
"moduleResolution": "bundler"
|
|
13
|
-
}
|
|
14
|
-
{{#unless (or (eq backend "convex") (eq backend "none"))}}
|
|
15
|
-
"references": [{
|
|
16
|
-
"path": "../server"
|
|
17
|
-
}]
|
|
18
|
-
{{/unless}}
|
|
13
|
+
}
|
|
19
14
|
// Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
|
|
20
15
|
// except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
|
|
21
16
|
//
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
{{#if (eq auth "better-auth")}}
|
|
2
|
-
import { createContext } from '@/lib/context'
|
|
3
|
-
{{/if}}
|
|
4
|
-
import { appRouter } from '@/routers'
|
|
5
|
-
import { OpenAPIHandler } from '@orpc/openapi/fetch'
|
|
6
|
-
import { OpenAPIReferencePlugin } from '@orpc/openapi/plugins'
|
|
7
|
-
import { ZodToJsonSchemaConverter } from '@orpc/zod/zod4'
|
|
8
|
-
import { RPCHandler } from '@orpc/server/fetch'
|
|
9
|
-
import { onError } from '@orpc/server'
|
|
10
|
-
import { NextRequest } from 'next/server'
|
|
11
|
-
|
|
12
|
-
const rpcHandler = new RPCHandler(appRouter, {
|
|
13
|
-
interceptors: [
|
|
14
|
-
onError((error) => {
|
|
15
|
-
console.error(error)
|
|
16
|
-
}),
|
|
17
|
-
],
|
|
18
|
-
})
|
|
19
|
-
const apiHandler = new OpenAPIHandler(appRouter, {
|
|
20
|
-
plugins: [
|
|
21
|
-
new OpenAPIReferencePlugin({
|
|
22
|
-
schemaConverters: [new ZodToJsonSchemaConverter()],
|
|
23
|
-
}),
|
|
24
|
-
],
|
|
25
|
-
interceptors: [
|
|
26
|
-
onError((error) => {
|
|
27
|
-
console.error(error)
|
|
28
|
-
}),
|
|
29
|
-
],
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
async function handleRequest(req: NextRequest) {
|
|
33
|
-
const rpcResult = await rpcHandler.handle(req, {
|
|
34
|
-
prefix: '/rpc',
|
|
35
|
-
context: {{#if (eq auth "better-auth")}}await createContext(req){{else}}{}{{/if}},
|
|
36
|
-
})
|
|
37
|
-
if (rpcResult.response) return rpcResult.response
|
|
38
|
-
|
|
39
|
-
const apiResult = await apiHandler.handle(req, {
|
|
40
|
-
prefix: '/rpc/api',
|
|
41
|
-
context: {{#if (eq auth "better-auth")}}await createContext(req){{else}}{}{{/if}},
|
|
42
|
-
})
|
|
43
|
-
if (apiResult.response) return apiResult.response
|
|
44
|
-
|
|
45
|
-
return new Response('Not found', { status: 404 })
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export const GET = handleRequest
|
|
49
|
-
export const POST = handleRequest
|
|
50
|
-
export const PUT = handleRequest
|
|
51
|
-
export const PATCH = handleRequest
|
|
52
|
-
export const DELETE = handleRequest
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { fetchRequestHandler } from '@trpc/server/adapters/fetch';
|
|
2
|
-
import { appRouter } from '@/routers';
|
|
3
|
-
import { createContext } from '@/lib/context';
|
|
4
|
-
import { NextRequest } from 'next/server';
|
|
5
|
-
|
|
6
|
-
function handler(req: NextRequest) {
|
|
7
|
-
return fetchRequestHandler({
|
|
8
|
-
endpoint: '/trpc',
|
|
9
|
-
req,
|
|
10
|
-
router: appRouter,
|
|
11
|
-
createContext: () => createContext(req)
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
export { handler as GET, handler as POST };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "server",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"private": true,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"dev": "next dev --turbopack",
|
|
7
|
-
"build": "next build",
|
|
8
|
-
"start": "next start"
|
|
9
|
-
},
|
|
10
|
-
"dependencies": {
|
|
11
|
-
"next": "15.5.0",
|
|
12
|
-
"react": "19.1.0",
|
|
13
|
-
"react-dom": "19.1.0",
|
|
14
|
-
"dotenv": "^17.2.1"
|
|
15
|
-
},
|
|
16
|
-
{{#if (eq dbSetup 'supabase')}}
|
|
17
|
-
"trustedDependencies": [
|
|
18
|
-
"supabase"
|
|
19
|
-
],
|
|
20
|
-
{{/if}}
|
|
21
|
-
"devDependencies": {
|
|
22
|
-
"@types/node": "^20",
|
|
23
|
-
"@types/react": "~19.1.10",
|
|
24
|
-
"zod": "^4.0.13",
|
|
25
|
-
"typescript": "^5"
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from "next/server";
|
|
2
|
-
|
|
3
|
-
export function middleware() {
|
|
4
|
-
const res = NextResponse.next()
|
|
5
|
-
|
|
6
|
-
res.headers.append('Access-Control-Allow-Credentials', "true")
|
|
7
|
-
res.headers.append('Access-Control-Allow-Origin', process.env.CORS_ORIGIN || "")
|
|
8
|
-
res.headers.append('Access-Control-Allow-Methods', 'GET,POST,OPTIONS')
|
|
9
|
-
res.headers.append(
|
|
10
|
-
'Access-Control-Allow-Headers',
|
|
11
|
-
'Content-Type, Authorization'
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
return res
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const config = {
|
|
18
|
-
matcher: '/:path*',
|
|
19
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2017",
|
|
4
|
-
"lib": ["dom", "dom.iterable", "esnext"],
|
|
5
|
-
"allowJs": true,
|
|
6
|
-
"skipLibCheck": true,
|
|
7
|
-
"strict": true,
|
|
8
|
-
"noEmit": true,
|
|
9
|
-
"esModuleInterop": true,
|
|
10
|
-
"module": "esnext",
|
|
11
|
-
"moduleResolution": "bundler",
|
|
12
|
-
"resolveJsonModule": true,
|
|
13
|
-
"isolatedModules": true,
|
|
14
|
-
"jsx": "preserve",
|
|
15
|
-
{{#unless (or (eq backend "convex") (eq backend "none"))}}
|
|
16
|
-
"composite": true,
|
|
17
|
-
{{/unless}}
|
|
18
|
-
"incremental": true,
|
|
19
|
-
"plugins": [
|
|
20
|
-
{
|
|
21
|
-
"name": "next"
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"paths": {
|
|
25
|
-
"@/*": ["./src/*"]
|
|
26
|
-
{{#if (eq orm 'prisma')}},
|
|
27
|
-
"prisma": ["node_modules/prisma"]
|
|
28
|
-
{{/if}}
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
|
32
|
-
"exclude": ["node_modules"]
|
|
33
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { google } from '@ai-sdk/google';
|
|
2
|
-
import { streamText, type UIMessage, convertToModelMessages } from 'ai';
|
|
3
|
-
|
|
4
|
-
export const maxDuration = 30;
|
|
5
|
-
|
|
6
|
-
export async function POST(req: Request) {
|
|
7
|
-
const { messages }: { messages: UIMessage[] } = await req.json();
|
|
8
|
-
|
|
9
|
-
const result = streamText({
|
|
10
|
-
model: google('gemini-2.0-flash'),
|
|
11
|
-
messages: convertToModelMessages(messages),
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
return result.toUIMessageStreamResponse();
|
|
15
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/templates/examples/todo/server/prisma/mongodb/prisma/schema/{todo.prisma → todo.prisma.hbs}
RENAMED
|
File without changes
|
/package/templates/examples/todo/server/prisma/mysql/prisma/schema/{todo.prisma → todo.prisma.hbs}
RENAMED
|
File without changes
|
|
File without changes
|
/package/templates/examples/todo/server/prisma/sqlite/prisma/schema/{todo.prisma → todo.prisma.hbs}
RENAMED
|
File without changes
|