TanStack Start
TanStack Start uses Vinxi under the hood and supports standard fetch handlers.
1. Install
npm install @daiso-tech/core hono
2. Create the handler
// app/routes/api/$.ts
import {
HttpRouter,
HttpRes,
defaultHttpRouterAdapter,
} from "@daiso-tech/core/http-router";
const router = new HttpRouter({ router: defaultHttpRouterAdapter });
router.endpoint({
url: "/api/hello",
method: "GET",
handler: async () => HttpRes.text("Hello from TanStack Start!"),
});
export const Route = createFileRoute("/api/$")({
server: {
handlers: {
GET: async ({ request }) => {
return router.fetch(request);
},
HEAD: async ({ request }) => {
return router.fetch(request);
},
PUT: async ({ request }) => {
return router.fetch(request);
},
DELETE: async ({ request }) => {
return router.fetch(request);
},
PATCH: async ({ request }) => {
return router.fetch(request);
},
OPTIONS: async ({ request }) => {
return router.fetch(request);
},
},
},
});
File structure
.
├── app
│ └── routes
│ └── api
│ └── $.ts
├── package.json
└── app.config.ts
3. Develop
npm run dev
4. Build
npm run build
Reference: TanStack Start API Routes