Background
Current monorepo Vercel deployment (see PR #933 and previous 404 diagnostics) relies on a [...path].ts API catch-all entrypoint and a Node.js serverless handler written in a way compatible with Vercel's conventions. However, due to monorepo structure, workspace dependencies, and Vercel's framework/SPA routing, serverless routing and bundling issues persist.
Motivation for Hono + Vercel Adapter Migration
- Vercel now recommends using
@hono/vercel (Edge or Node adapter) for TypeScript frameworks instead of manual catch-all entrypoints. - A single Hono app entrypoint, compatible with Vercel's adapter bootstrap system, is easier to test locally, more portable, and better aligned with both Edge Functions and monorepo dependency resolution with workspaces.
- Code will be future-proofed for hybrid edge+node routes or incremental migration to Edge (when upstream deps are ready).
- Avoids the routing ambiguity and bundling pitfalls of catch-all handlers with complex monorepo imports.
Acceptance Criteria
Additional Notes
- Hono's DX enables hybrid Edge+Node deployment model (future cloud scaling).
- This unlocks easier local/testing/dev experience outside Vercel (e.g. with
hono serve). - All API endpoints (including REST, GraphQL, metadata, and packages) should be exposed via Hono's router.
- Kernel boot, broker wiring, and all async service initialization should be moved to top-level
app.ts as needed. Async wiring must be non-blocking or use Hono's native async context patterns.
Related
Background
Current monorepo Vercel deployment (see PR #933 and previous 404 diagnostics) relies on a
[...path].tsAPI catch-all entrypoint and a Node.js serverless handler written in a way compatible with Vercel's conventions. However, due to monorepo structure, workspace dependencies, and Vercel's framework/SPA routing, serverless routing and bundling issues persist.Motivation for Hono + Vercel Adapter Migration
@hono/vercel(Edge or Node adapter) for TypeScript frameworks instead of manual catch-all entrypoints.Acceptance Criteria
[...path].ts).api/index.tsor similar), not as an exported handler.@hono/vercelNode adapter, e.g.:includeFileshacks invercel.json./api/v1/metaand/api/v1/packagesreturn 200 OK after deployment.Additional Notes
hono serve).app.tsas needed. Async wiring must be non-blocking or use Hono's native async context patterns.Related