# System map — honojs/hono

> Canonical page: https://codevetter.com/unpack/hono/system-map

# System map — honojs/hono

Scanned commit f23b146afcec63606144cde50b5fbd360dd60238 (2026-10-01). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The public entrypoint exports Hono and supporting types, while HonoBase owns registration and dispatch. Request and Context wrap standard web objects, and runtime adapters translate platform boundaries. Storage behavior inspected here belongs to optional cache and SSG facilities. Distribution includes npm ESM/CJS/declarations, JSR source exports, and separate adapter packages.
- src/index.ts exports Hono, Context, HonoRequest types, handler/environment types, and typed client inference utilities. — [src/index.ts#L17-53](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/index.ts#L17-L53)
- The default Hono extends HonoBase and uses SmartRouter with RegExpRouter followed by TrieRouter unless options.router is supplied. — [src/hono.ts#L16-33](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/hono.ts#L16-L33)
- HonoBase supplies dynamically initialized HTTP method registration, on(), use(), route metadata, and the fetch application boundary. — [src/hono-base.ts#L127-175](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/hono-base.ts#L127-L175) [src/hono-base.ts#L388-399](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/hono-base.ts#L388-L399) [src/hono-base.ts#L481-487](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/hono-base.ts#L481-L487)
- Context owns bindings, request-local variable storage, response state and execution context; it lazily constructs HonoRequest. — [src/context.ts#L300-344](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/context.ts#L300-L344) [src/context.ts#L352-368](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/context.ts#L352-L368)
- The root package distributes dist with ESM, CommonJS and declaration entrypoints; Vite emits these as three unbundled outputs. — [package.json#L1-11](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/package.json#L1-L11) [vite.config.ts#L9-15](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/vite.config.ts#L9-L15) [vite.config.ts#L94-118](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/vite.config.ts#L94-L118)
- The pnpm workspace contains the root and adapters packages; @hono/aws-lambda and @hono/bun expose ESM dist entrypoints and require hono >=4.13.9 as a peer. — [pnpm-workspace.yaml#L1-3](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/pnpm-workspace.yaml#L1-L3) [adapters/aws-lambda/package.json#L10-35](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/adapters/aws-lambda/package.json#L10-L35) [adapters/bun/package.json#L10-35](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/adapters/bun/package.json#L10-L35)
- Optional persistence uses the runtime Cache API for responses and an injected FileSystemModule for generated files. — [src/middleware/cache/index.ts#L298-322](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/middleware/cache/index.ts#L298-L322) [src/helper/ssg/ssg.ts#L34-37](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/helper/ssg/ssg.ts#L34-L37) [src/helper/ssg/ssg.ts#L310-334](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/src/helper/ssg/ssg.ts#L310-L334)
- Root scripts define type-check-plus-Vitest testing, runtime-specific tests, adapter tests, and Vite-plus packaging with publint. — [package.json#L12-41](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/package.json#L12-L41)
- Release automation distinguishes v* root tags from @hono/* adapter tags, stages npm publication with provenance, and separately publishes JSR packages. — [.github/workflows/release.yml#L3-7](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/.github/workflows/release.yml#L3-L7) [.github/workflows/release.yml#L38-60](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/.github/workflows/release.yml#L38-L60) [.github/workflows/release.yml#L88-113](https://github.com/honojs/hono/blob/f23b146afcec63606144cde50b5fbd360dd60238/.github/workflows/release.yml#L88-L113)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
