CodeVetter · Repo Unpack · Feature catalog
honojs/hono
The user-facing product is a framework API and exported modules rather than a fixed application route set. Routing, responses, middleware and validation form the server surface. Typed clients, JSX, streaming, WebSockets and static generation extend it into full web application development. The export-map inventory is broader than the implementation paths examined in detail.
- Applications register get/post/put/delete/options/patch/query/all handlers, arbitrary method/path combinations through on(), and path-scoped middleware through use().
- route() groups Hono applications, basePath() prefixes registration, and mount() integrates another Request handler with configurable request replacement and arguments.
- Context exposes text, JSON, HTML, redirect and custom-body response construction; onError() and notFound() customize application failures.
- validator() supports JSON, form, query, path parameter, header and cookie targets, allowing transformed data or an early Response.
- hc() supplies proxy-generated HTTP calls, $url/$path helpers and $ws connections, with form, JSON, query, parameter, header and cookie inputs.
- The JSR export map exposes authentication, IP restriction, body limits, cache, compression, CORS, CSRF, ETag and trailing-slash middleware.
- Additional exported middleware covers timeouts, timing, logging, method handling, request IDs, language selection, secure headers, JSON formatting and middleware combinations.
- Hono JSX exports components, context, hooks, Suspense and ErrorBoundary; the DOM package additionally exports render, portals, flushSync and form-state hooks.
- stream() returns a streaming Response; streamSSE() adds SSE headers and writeSSE() formats data, event, id and retry fields.
- toSSG() generates route output files with configurable concurrency, MIME extensions and plugins; redirectPlugin() converts redirects into HTML pages.
- Bun and Deno adapters export static serving, SSG, WebSocket and connection helpers; Cloudflare Workers exports static serving, WebSocket upgrade and connection information.
- Lambda offers buffered handle() and streamHandle(); Vercel forwards Requests directly, Netlify passes its context in bindings, and Service Worker handling can fall back to network fetch on 404.
- tiny uses PatternRouter, while quick uses SmartRouter with LinearRouter and TrieRouter.