Feature Request: Split adapters into separate packages
What is the feature you are proposing?
First of all, thanks for Hono — it's one of the cleanest web frameworks in the JS ecosystem.
I'd like to suggest separating platform adapters from the main hono package into individually installable packages.
Current situation
Right now, Hono includes support for many runtimes and adapters in the main package:
- Node.js
- Bun
- Cloudflare Workers
- Deno
- AWS Lambda
- Vercel
- etc.
While the "run everywhere" philosophy is great, in practice most applications only target a single runtime.
Problems caused by this
1. Auto-import pollution
In editors like VSCode / TypeScript language service, auto-import suggestions become crowded with APIs and adapters that are irrelevant to the current project.
For example, in a pure Node.js project, I still get imports and symbols related to Cloudflare Workers, Bun, Lambda, etc.
This reduces the signal-to-noise ratio of auto-completion significantly.
2. Larger type surface
A larger exported API surface also increases:
- type resolution overhead
- declaration complexity
- editor indexing workload
Especially in TypeScript-heavy projects.
3. Cleaner dependency boundaries
Adapters are conceptually optional integrations rather than core framework functionality.
Separating them would make dependency boundaries clearer and the architecture more modular.
Suggested approach
Something like:
hono→ core framework only@hono/node-server@hono/cloudflare@hono/bun@hono/aws-lambda- etc.
Users would install only what they actually use.
Benefits
- Cleaner auto-import experience
- Smaller exposed API surface
- Better modularity
- Potentially faster editor/type performance
- Easier long-term maintenance
This would also align with how many modern ecosystems separate core runtime-independent logic from platform integrations.
Thanks for considering it.
Source: honojs/hono