RepoLens

Gallery · Architecture explained · Score · TypeScript

Hono architecture: modules, API surface, dependency graph

Web framework built on Web Standards. Generated from honojs/hono at 5ca49b0, MIT.

Files
188
Modules
19
API routes
53
Documents
17

TypeScriptNode.js

Executive Summary

Stakeholders · High-level overview for leadership, product, and stakeholders

At a Glance

AspectSummary
WhatHono is a well-structured API service
Built Withgeneral-purpose + TypeScript, Node.js
Scale19 modules across 188 files
MaturityWell-structured (2/3 indicators)

What This System Does

Hono is a general-purpose API service built with TypeScript, Node.js. It exposes 53 API endpoints, designed for programmatic access by client applications, mobile apps, or external services.

Business Capabilities

The system is organized around 7 functional domains, each representing a distinct business capability:

DomainCapabilityScale
OtherUncategorized module12 modules, 56 files
Shared Utilitiespath src/utils matches util2 modules, 52 files
Integrationspath src/adapter matches adapter1 modules, 37 files
API Layerpath src/middleware matches middleware1 modules, 36 files
Servicespath src/client matches client1 modules, 5 files
State Managementpath src/context.ts matches context1 modules, 1 files
+1 moreAdditional functional areas—

Technical Foundation

LayerTechnologiesPurpose
LanguageTypeScript, Node.jsPrimary development language
BuildesbuildCompilation and bundling
TestingVitestQuality assurance

Module Composition

The codebase follows a layered architecture with clear separation of concerns:

LayerCountKey ModulesResponsibility
integration1adapterSupporting application functionality
middleware1middlewareSupporting application functionality
Other Modules10jsx, clientGeneral purpose functionality
Shared Libraries2utils, helperProvides shared utilities and abstractions used across modules
Route/Page Modules1routerMaps URL paths to page components and handles navigation

Codebase Health

Overall Health: 🟡 60/100

MetricValueStatus
Internal imports288 edges✅ Connected
External Packages0✅ Manageable
Circular Dependencies5🔴 5 detected
Orphan Files19⚠️ 19 unused
Key Insights
  • 🔴 Architectural concern — 5 circular dependencies detected. These create tight coupling and make testing difficult.
  • ⚠️ Potential dead code — 19 files (10%) are not imported anywhere.

Key Data Flows

The system processes information through 7 identified flows:

  • dom Request Flow (critical) — Import chain starting from src/jsx/dom — traces how this entry point depends on 1 downstream module
  • bun Request Flow (critical) — Import chain starting from src/adapter/bun — traces how this entry point depends on 1 downstream module
  • css Request Flow (critical) — Import chain starting from src/helper/css — traces how this entry point depends on 1 downstream module
  • deno Request Flow — Import chain starting from src/adapter/deno — traces how this entry point depends on 3 downstream modules
  • jsx-runtime Request Flow — Import chain starting from src/jsx/jsx-runtime — traces how this entry point depends on 2 downstream modules

Strategic Observations

  • The codebase follows Middleware pipeline — `src/middleware`, Shared utility layer — `src/utils`, `src/helper`; high fan-in, Integration adapters — `src/adapter`, ⚠️ 5 circular dependency cycle(s) detected architectural patterns, providing a familiar structure for developers.
  • With 7 distinct domains, the system has clear separation of concerns suitable for team-based development.

This executive summary was generated from comprehensive repository analysis including dependency graphs, data flow detection, and architectural pattern recognition. Enable AI enhancement with `GITHUB_TOKEN` for strategic recommendations, risk assessments, and plain-language explanations tailored for non-technical stakeholders.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

System Overview

Mixed audience · Concise technical overview readable by all

The Big Picture

Hono is a focused codebase with a clear purpose, containing 19 modules spread across 188 files.

DimensionDetails
Total Files188
Module Count19
Functional Domains7
API Endpoints53

Technology Stack

The system is built on a modern technology foundation:

LayerTechnologiesPurpose
LanguageTypeScript, Node.jsPrimary development language
BuildesbuildCompilation and asset processing
QualityVitestAutomated testing

Architecture Patterns

The codebase follows 4 identified architectural patterns:

  • Middleware pipeline — `src/middleware` — A structured approach to organizing code and managing complexity.
  • Shared utility layer — `src/utils`, `src/helper`; high fan-in — A structured approach to organizing code and managing complexity.
  • Integration adapters — `src/adapter` — A structured approach to organizing code and managing complexity.
  • ⚠️ 5 circular dependency cycle(s) detected — A structured approach to organizing code and managing complexity.

Module Architecture

The system is organized into 5 architectural layers:

LayerModulesKey ExamplesResponsibility
integration1adapterSupporting application functionality
middleware1middlewareSupporting application functionality
Other Modules10jsx, clientGeneral purpose functionality
Shared Libraries2utils, helperProvides shared utilities and abstractions used across modules
Route/Page Modules1routerMaps URL paths to page components and handles navigation
Layer Details

integration — 1 module

  • src/adapter — 37 files — Core application module

middleware — 1 module

  • src/middleware — 36 files — Request/response middleware

Other Modules — 10 modules

  • src/jsx — 27 files — Core application module
  • src/client — 5 files — Core application module
  • src/validator — 3 files — Core application module
  • src/preset — 2 files — Core application module
  • +6 more modules

Shared Libraries — 2 modules

  • src/utils — 27 files — Utility and helper functions
  • src/helper — 25 files — Utility and helper functions

Route/Page Modules — 1 module

  • src/router — 16 files — API layer and route handlers

Functional Domains

The following domains represent the largest functional areas by file count:

RankDomainScaleBusiness Capability
1Other56 filesUncategorized module
2Shared Utilities52 filespath src/utils matches util
3Integrations37 filespath src/adapter matches adapter
4API Layer36 filespath src/middleware matches middleware
5Services5 filespath src/client matches client
6State Management1 filespath src/context.ts matches context
—+1 more—Additional domains

Route Summary

The system surfaces 50 API endpoints (GET, POST, ALL, DELETE).

API Endpoints (50)
EndpointMethodsPurpose
/GETData operations
/GETData operations
/jsonGETData operations
/GETData operations
/GETData operations
/GETData operations
*GETData operations
/GETData operations
+42 more—Additional endpoints

Dependency Graph

Codebase Health: 🟡 60/100

MetricValueAssessment
Internal Imports288Modules are connected
External Packages0Lean dependencies
Circular Dependencies5⚠️ Needs attention
Orphan Files19⚠️ 19 unused

This system overview was generated from comprehensive repository analysis. Enable AI enhancement with `GITHUB_TOKEN` for narrative context, architectural rationale, technology trade-off analysis, and scalability recommendations.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Business Domains

Mixed audience · Codebase structure translated into business language

Overview

Hono is organized into 7 functional domains, each representing a distinct area of business capability. This document maps the technical structure to business-oriented functional areas.

Quick Reference:

DomainModulesFilesPrimary Capability
Other1256Supporting business operations
Shared Utilities252Cross-cutting utility functions
Integrations137Supporting business operations
API Layer136External API interface layer
Services15Supporting business operations
State Management11Application state and data flow management
Search & Discovery11Search and content discovery

1. Other

Business Capability

Uncategorized module

This is a major domain with 12 modules and 56 source files.

Key Modules
ModulePurpose
src/jsxCore application module
src/routerAPI layer and route handlers
src/validatorCore application module
src/presetCore application module
src/compose.tsCore application module
User-Facing Interfaces

API Endpoints:

  • 🔌 /itty-router/* [ALL] — Data operations
Business Impact
  • Change Frequency Impact: High — Changes here affect 56 files
  • Domain Complexity: Complex (multiple modules)
  • Recommendation: Ensure comprehensive testing before modifying this domain

2. Shared Utilities

Business Capability

path src/utils matches util

This is a major domain with 2 modules and 52 source files.

Key Modules
ModulePurpose
src/utilsUtility and helper functions
src/helperUtility and helper functions
Business Impact
  • Change Frequency Impact: High — Changes here affect 52 files
  • Domain Complexity: Simple
  • Recommendation: Ensure comprehensive testing before modifying this domain

3. Integrations

Business Capability

path src/adapter matches adapter

This is a significant domain with 1 module and 37 source files.

Key Modules
ModulePurpose
src/adapterCore application module
Business Impact
  • Change Frequency Impact: Medium — Changes here affect 37 files
  • Domain Complexity: Simple

4. API Layer

Business Capability

path src/middleware matches middleware

This is a significant domain with 1 module and 36 source files.

Key Modules
ModulePurpose
src/middlewareRequest/response middleware
Business Impact
  • Change Frequency Impact: Medium — Changes here affect 36 files
  • Domain Complexity: Simple

5. Services

Business Capability

path src/client matches client

This is a focused domain with 1 module and 5 source files.

Key Modules
ModulePurpose
src/clientCore application module
Business Impact
  • Change Frequency Impact: Low — Changes here affect 5 files
  • Domain Complexity: Simple

6. State Management

Business Capability

path src/context.ts matches context

This is a focused domain with 1 module and 1 source file.

Key Modules
ModulePurpose
src/context.tsCore application module
Business Impact
  • Change Frequency Impact: Low — Changes here affect 1 file
  • Domain Complexity: Simple

7. Search & Discovery

Business Capability

path src/index.ts matches index

This is a focused domain with 1 module and 1 source file.

Key Modules
ModulePurpose
src/index.tsCore application module
Business Impact
  • Change Frequency Impact: Low — Changes here affect 1 file
  • Domain Complexity: Simple

Domain Health Summary

MetricValueAssessment
Total Domains7Well-balanced
Avg Files/Domain27Appropriate size
Largest DomainOther (56 files)Reasonable
Domain Concentration30% in largest✅ Well distributed

Domain mapping is based on directory naming conventions and code organization patterns. Enable AI enhancement with `GITHUB_TOKEN` for business-language descriptions, stakeholder impact analysis, strategic recommendations, and cross-domain relationship narratives.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Architecture Overview

Engineers · Layered architecture and design patterns

Architectural Philosophy

Hono follows a Middleware pipeline — `src/middleware` architecture with elements of Shared utility layer — `src/utils`, `src/helper`; high fan-in, Integration adapters — `src/adapter`, ⚠️ 5 circular dependency cycle(s) detected.

Pattern Analysis

Middleware pipeline — `src/middleware`

A structured approach to organizing code and managing complexity.

Benefits: Structured organization, maintainability, clarity

Shared utility layer — `src/utils`, `src/helper`; high fan-in

A structured approach to organizing code and managing complexity.

Benefits: Structured organization, maintainability, clarity

Integration adapters — `src/adapter`

A structured approach to organizing code and managing complexity.

Benefits: Structured organization, maintainability, clarity

⚠️ 5 circular dependency cycle(s) detected

A structured approach to organizing code and managing complexity.

Benefits: Structured organization, maintainability, clarity

System Layers

The system is organized into 7 functional layers, each encapsulating a distinct area of responsibility:

LayerResponsibilityScaleKey Insight
OtherUncategorized module56 filesStandard domain
Shared Utilitiespath src/utils matches util52 filesShared infrastructure — high reuse
Integrationspath src/adapter matches adapter37 filesSingle large module — evaluate decomposition
API Layerpath src/middleware matches middleware36 filesSingle large module — evaluate decomposition
Servicespath src/client matches client5 filesStandard domain
State Managementpath `src/context1 filesStandard domain
Search & Discoverypath `src/index1 filesStandard domain

Module Layers

Modules are classified into 5 architectural roles:

integration

Role: Supporting application functionality

ModuleFilesDescription
src/adapter37Core application module
middleware

Role: Supporting application functionality

ModuleFilesDescription
src/middleware36Request/response middleware
Other Modules

Role: General purpose functionality

ModuleFilesDescription
src/jsx27Core application module
src/client5Core application module
src/validator3Core application module
src/preset2Core application module
src/compose.ts1Core application module
+5 more—Additional modules
Shared Libraries

Role: Provides shared utilities and abstractions used across modules

ModuleFilesDescription
src/utils27Utility and helper functions
src/helper25Utility and helper functions
Route/Page Modules

Role: Maps URL paths to page components and handles navigation

ModuleFilesDescription
src/router16API layer and route handlers

Technology Foundation

LayerTechnologiesArchitectural Implication
LanguageTypeScript, Node.jsStatic typing enables tooling and refactoring confidence
BuildesbuildModern bundling and optimization
QualityVitestEnables confident refactoring

Scale & Complexity Analysis

DimensionValueAssessment
Total Files188large project
Module Count19low complexity
Domain Spread7 domainsGood separation
API Surface53 endpointsLarge API

Dependency Health

Architecture Health Score: 🟡 60/100

MetricValueStatusRecommendation
Import Edges288✅Healthy module connectivity
External Packages0✅Lean dependency set
Circular Deps5🔴Refactor to break cycles
Orphan Files19⚠️Review for dead code
Architectural Strengths
  • Testing infrastructure — Automated testing with Vitest supports confident evolution.
Concerns
  • Circular dependencies detected — 5 circular dependencies create tight coupling, complicate testing, and hinder refactoring. Priority: High.

This architecture overview was generated from comprehensive dependency graph analysis and pattern detection. Enable AI enhancement with `GITHUB_TOKEN` for architectural narratives, design rationale explanations, scalability analysis, and refactoring recommendations.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Module Catalog

Engineers · Complete inventory of code modules with AI explanations

A complete inventory of all code modules in the repository, organized by location and size. Each module represents a distinct area of responsibility within the codebase.

Total modules: 19


Module Inventory

ModuleFilesRole
src/adapter37Application module · Orchestrator (coordinates 12 modules)
src/middleware36Request middleware and interceptors · Orchestrator (coordinates 43 modules)
src/jsx27Application module · Orchestrator (coordinates 11 modules)
src/utils27Shared utilities and helper functions · Critical shared infrastructure (imported by 48 modules)
src/helper25Application module · Critical shared infrastructure (imported by 20 modules)
src/router16Application module · Shared infrastructure (imported by 13 modules)
src/client5Application module · Connector (2 in, 1 out)
src/validator3Application module
src/preset2Application module · Orchestrator (coordinates 6 modules)
src/compose.ts1Application module
src/context.ts1Application module
src/hono-base.ts1Application module
src/hono.ts1Application module
src/http-exception.ts1Application module
src/index.ts1Application module
src/request.ts1Application module
src/router.ts1Application module
src/types.ts1Type definitions and interfaces
src/request1Application module · Connector (3 in, 3 out)

Module detection is based on the `module_roots` setting in your RepoLens configuration. Adjust this setting to change how modules are grouped.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Route Map

Mixed audience · Application routes and API endpoints with context

A complete listing of user-facing pages and backend API endpoints. This map shows every URL a user or client can interact with, along with the source file that handles each route.


API Endpoints (53)

Backend services that handle data operations and business logic.

MethodPathSource File
GET/src/adapter/aws-lambda/conninfo.ts
GET/src/adapter/aws-lambda/handler.ts
GET/jsonsrc/adapter/aws-lambda/handler.ts
GET/src/adapter/cloudflare-pages/conninfo.ts
GET/src/adapter/netlify/conninfo.ts
GET/src/adapter/service-worker/index.ts
GET*src/context.ts
GET/src/context.ts
GET/welcomesrc/context.ts
GET/saysrc/context.ts
GET/apisrc/context.ts
GET/redirectsrc/context.ts
GET/redirect-permanentlysrc/context.ts
GET/notfoundsrc/context.ts
GET/www1.example.com/hellosrc/hono-base.ts
GET/hellosrc/hono-base.ts
POST/authsrc/http-exception.ts
GET/src/index.ts
POST, GET/src/request.ts
GET/about/mesrc/request.ts
GET/searchsrc/request.ts
POST/entrysrc/request.ts
GET/posts/:idsrc/request.ts
POST/forwardsrc/request.ts
GET/userssrc/helper/accepts/accepts.ts
GET, ALL/proxy/:pathsrc/helper/proxy/index.ts
GET/internal-proxy/:pathsrc/helper/proxy/index.ts
GET/posts/:idsrc/helper/route/index.ts
GET/auth/pagesrc/middleware/basic-auth/index.ts
GET/api/pagesrc/middleware/bearer-auth/index.ts
GET/src/middleware/context-storage/index.ts
ALL/api/abcsrc/middleware/cors/index.ts
ALL/api2/abcsrc/middleware/cors/index.ts
GET/etag/abcsrc/middleware/etag/index.ts
GET/src/middleware/ip-restriction/index.ts
GET/page/aboutsrc/middleware/jsx-renderer/index.ts
GET/page/infosrc/middleware/jsx-renderer/index.ts
GET/auth/pagesrc/middleware/jwk/jwk.ts
GET/auth/pagesrc/middleware/jwt/jwt.ts
GET/src/middleware/language/language.ts
GET/src/middleware/logger/index.ts
GET, POST/hellosrc/middleware/method-not-allowed/index.ts
DELETE/postssrc/middleware/method-override/index.ts
GET/hellosrc/middleware/mount/index.ts
ALL/itty-router/*src/middleware/mount/index.ts
ALL/app/*src/middleware/mount/index.ts
GET/src/middleware/pretty-json/index.ts
GET/src/middleware/request-id/request-id.ts
GET/long-requestsrc/middleware/timeout/index.ts
GET/src/middleware/timing/timing.ts
GET/about/me/src/middleware/trailing-slash/index.ts
GET/my-path/*src/middleware/trailing-slash/index.ts
GET/unknownsrc/utils/http-status.ts

Paths starting with `/api/` are backend endpoints; all others are user-facing pages.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

API Surface

Engineers · Backend API endpoints with usage examples

This page documents both the API endpoints the application exposes and the external services it integrates with. Use it as a reference for understanding the system's interfaces.


Internal API Endpoints

These are the backend services the application provides to handle incoming requests.

Total endpoints: 53

MethodPathImplementation
GET/src/adapter/aws-lambda/conninfo.ts
GET/src/adapter/aws-lambda/handler.ts
GET/jsonsrc/adapter/aws-lambda/handler.ts
GET/src/adapter/cloudflare-pages/conninfo.ts
GET/src/adapter/netlify/conninfo.ts
GET/src/adapter/service-worker/index.ts
GET*src/context.ts
GET/src/context.ts
GET/welcomesrc/context.ts
GET/saysrc/context.ts
GET/apisrc/context.ts
GET/redirectsrc/context.ts
GET/redirect-permanentlysrc/context.ts
GET/notfoundsrc/context.ts
GET/www1.example.com/hellosrc/hono-base.ts
GET/hellosrc/hono-base.ts
POST/authsrc/http-exception.ts
GET/src/index.ts
POST, GET/src/request.ts
GET/about/mesrc/request.ts
GET/searchsrc/request.ts
POST/entrysrc/request.ts
GET/posts/:idsrc/request.ts
POST/forwardsrc/request.ts
GET/userssrc/helper/accepts/accepts.ts
GET, ALL/proxy/:pathsrc/helper/proxy/index.ts
GET/internal-proxy/:pathsrc/helper/proxy/index.ts
GET/posts/:idsrc/helper/route/index.ts
GET/auth/pagesrc/middleware/basic-auth/index.ts
GET/api/pagesrc/middleware/bearer-auth/index.ts
GET/src/middleware/context-storage/index.ts
ALL/api/abcsrc/middleware/cors/index.ts
ALL/api2/abcsrc/middleware/cors/index.ts
GET/etag/abcsrc/middleware/etag/index.ts
GET/src/middleware/ip-restriction/index.ts
GET/page/aboutsrc/middleware/jsx-renderer/index.ts
GET/page/infosrc/middleware/jsx-renderer/index.ts
GET/auth/pagesrc/middleware/jwk/jwk.ts
GET/auth/pagesrc/middleware/jwt/jwt.ts
GET/src/middleware/language/language.ts
GET/src/middleware/logger/index.ts
GET, POST/hellosrc/middleware/method-not-allowed/index.ts
DELETE/postssrc/middleware/method-override/index.ts
GET/hellosrc/middleware/mount/index.ts
ALL/itty-router/*src/middleware/mount/index.ts
ALL/app/*src/middleware/mount/index.ts
GET/src/middleware/pretty-json/index.ts
GET/src/middleware/request-id/request-id.ts
GET/long-requestsrc/middleware/timeout/index.ts
GET/src/middleware/timing/timing.ts
GET/about/me/src/middleware/trailing-slash/index.ts
GET/my-path/*src/middleware/trailing-slash/index.ts
GET/unknownsrc/utils/http-status.ts

External API Integrations

Third-party services the application connects to, grouped by category.

Package Management
ServiceDetected In
npm Registrysrc/adapter/cloudflare-workers/serve-static.ts

Documented Exports

Exported functions with JSDoc/TSDoc documentation. Documentation coverage: 38%

⚠️ Deprecated Functions
  • isContentEncodingBinary in src/adapter/aws-lambda/handler.ts: hono/aws-lambda will be removed in v5. Install @hono/aws-lambda and import from there instead.
  • handle in src/adapter/vercel/handler.ts: hono/vercel will be removed in v5. Install @hono/vercel and import from there instead.
  • SSG_DISABLED_RESPONSE in src/helper/ssg/middleware.ts: Use X_HONO_DISABLE_SSG_HEADER_KEY instead. This constant will be removed in the next minor version.
Function Documentation
src/adapter/aws-lambda/handler.ts

`isContentEncodingBinary()` ⚠️

src/adapter/vercel/handler.ts

`handle()` ⚠️

src/client/fetch-result-please.ts

`fetchRP()`

Smartly parses and return the consumable result from a fetch Response. Throwing a structured error if the response is not ok. ({@link DetailedError})

src/helper/ssg/middleware.ts

`SSG_DISABLED_RESPONSE()` ⚠️

src/jsx/streaming.ts

`renderToReadableStream()`

src/middleware/cache/index.ts

`cache()`

Cache Middleware for Hono.

Parameters:

  • options (Object): The options for the cache middleware.
  • options.cacheName (string | Function): The name of the cache. Can be used to store multiple caches with different identifiers.
  • options.wait (boolean) (optional): =false] - A boolean indicating if Hono should wait for the Promise of the cache.put function to resolve before continuing with the request. Required to be true for the Deno environment.
  • options.cacheControl (string) (optional): A string of directives for the Cache-Control header.
  • options.vary (string | string[]) (optional): Adds the configured request headers to the cache key variants and sets the Vary header in the response. If the original response header already contains a Vary header, the values are merged, removing any duplicates.
  • options.keyGenerator (Function) (optional): Generates keys for every request in the cacheName store. This can be used to cache data based on request parameters or context parameters. QUERY keys additionally include a digest of the request content and its representation metadata.
  • options.maxQueryBodySize (number) (optional): =65536] - The maximum QUERY request body size in bytes that can be cached. Larger QUERY requests bypass the cache.
  • options.cacheableStatusCodes (number[]) (optional): =[200]] - An array of status codes that can be cached.
  • options.onCacheNotAvailable (Function | false) (optional): A callback invoked with the reason when globalThis.caches is not available or QUERY caching cannot use Web Crypto. By default, the reason is logged to the console. Set to false to suppress the log, or provide a custom function.

Returns: MiddlewareHandler — The middleware handler function.

Throws:

  • {Error} If the vary option includes "*".
src/middleware/ip-restriction/index.ts

`ipRestriction()`

IP Restriction Middleware for Hono.

Parameters:

  • getIP (GetConnInfo | ((c: Context) => string)): A function to retrieve the client IP address. Use getConnInfo from the appropriate runtime adapter.
  • rules (IPRestrictionRules): An object with optional denyList and allowList arrays of IP rules. Each rule can be a static IP, a CIDR range, or a custom function.

Returns: MiddlewareHandler — The middleware handler function.

src/middleware/jwk/jwk.ts

`jwk()`

JWK Auth Middleware for Hono.

Parameters:

  • options (object): The options for the JWK middleware.
  • options.keys (HonoJsonWebKey[] | ((ctx: Context) => Promise<HonoJsonWebKey[]> | HonoJsonWebKey[])) (optional): The public keys used for JWK verification, or a function that returns them.
  • options.jwks_uri (string | ((ctx: Context) => Promise<string> | string)) (optional): If set to a URI string or a function that returns a URI string, attempt to fetch JWKs from it. The response must be a JSON object containing a keys array, which will be merged with the keys option.
  • options.allow_anon (boolean) (optional): If set to true, the middleware allows requests without a token to proceed without authentication.
  • options.cookie (string) (optional): If set, the middleware attempts to retrieve the token from a cookie with these options (optionally signed) only if no token is found in the header.
  • options.headerName (string) (optional): ='Authorization'] - The name of the header to look for the JWT token. Default is 'Authorization'.
  • options.realm (string) (optional): The protection space described by the realm parameter of the returned WWW-Authenticate challenge header. Defaults to the request URL.
  • options.alg (AsymmetricAlgorithm[]): An array of allowed asymmetric algorithms for JWT verification. Only tokens signed with these algorithms will be accepted.
  • init (RequestInit) (optional): Optional init options for the fetch request when retrieving JWKS from a URI.
  • options.verification (VerifyOptions) (optional): Additional options for JWK payload verification.

Returns: MiddlewareHandler — The middleware handler function.

src/middleware/language/language.ts

`parseAcceptLanguage()`

Parse Accept-Language header values with quality scores

Parameters:

  • header (any): Accept-Language header string

Returns: void — Array of parsed languages with quality scores

`detectFromHeader()`

Detects language from Accept-Language header

`detectFromPath()`

Detects language from URL path

`validateOptions()`

Validate detector options

Parameters:

  • options (any): Detector options to validate

Throws:

  • Error if options are invalid
src/middleware/request-id/request-id.ts

`requestId()`

Request ID Middleware for Hono.

Parameters:

  • options (object): Options for Request ID middleware.
  • options.limitLength (number) (optional): =255] - The maximum length of request id.
  • options.headerName (string) (optional): =X-Request-Id] - The header name used in request id.
  • options.generator (generator) (optional): =() => crypto.randomUUID()] - The request id generation function.

Returns: MiddlewareHandler — The middleware handler function.

src/middleware/timing/timing.ts

`startTime()`

Start a timer for the timing middleware.

Parameters:

  • c (Context): The context of the request.
  • name (string): The name of the timer.
  • description (string) (optional): The description of the timer.

`endTime()`

End a timer for the timing middleware.

Parameters:

  • c (Context): The context of the request.
  • name (string): The name of the timer.
  • precision (number) (optional): The precision of the timer value.
src/utils/color.ts

`getColorEnabled()`

Get whether color change on terminal is enabled or disabled. If NO_COLOR environment variable is set, this function returns false. Unlike getColorEnabledAsync(), this cannot check Cloudflare environment variables.

Returns: boolean

`getColorEnabledAsync()`

Get whether color change on terminal is enabled or disabled. If NO_COLOR environment variable is set, this function returns false.

Returns: boolean


Documentation Summary:

  • Total exports: 45
  • Documented: 17
  • Undocumented: 28
  • Coverage: 38%

HTTP method reference — GET: retrieve data, POST: create, PUT/PATCH: update, DELETE: remove.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Data Flows

Mixed audience · Major information flows through the system

Understanding Data Movement

Data flows describe how information moves through Hono — from external inputs through processing layers to storage or presentation. Understanding these flows is essential for debugging, performance optimization, and architectural decisions.

Flow Summary

7 data flows identified in the codebase:

FlowTypeComplexityCritical
dom Request FlowIntegrationLow (2 steps)🔴 Yes
bun Request FlowIntegrationLow (2 steps)🔴 Yes
css Request FlowIntegrationLow (2 steps)🔴 Yes
deno Request FlowIntegrationMedium (4 steps)—
jsx-runtime Request FlowIntegrationMedium (3 steps)—
Authentication FlowIntegrationMedium (5 steps)🔴 Yes
API Integration FlowIntegrationMedium (5 steps)—

1. dom Request Flow 🔴 CRITICAL FLOW

Description

Import chain starting from src/jsx/dom — traces how this entry point depends on 1 downstream module

Characteristics
PropertyValue
Steps2
Modules Involved2
CriticalityCritical
Processing Steps
StepActionPurpose
1dom (entry point, imports 10 modules)Data acquisition
2constants (shared infrastructure, used by 13 files)Processing step
Flow Diagram
┌─ START ─┐
│ `dom` (entry point, imports 10 modules)            │
│         ↓
│ `constants` (shared infrastructure, used by 13 ... │
└─ END ───┘
Involved Modules
ModuleRole
domCore application module
constantsCore application module
Dependencies

Shared libraries used: src/utils

Insights
  • ⚠️ Critical path — Failures here have significant business impact
  • 📊 Consider adding monitoring and alerting
  • 🧪 Ensure comprehensive test coverage

2. bun Request Flow 🔴 CRITICAL FLOW

Description

Import chain starting from src/adapter/bun — traces how this entry point depends on 1 downstream module

Characteristics
PropertyValue
Steps2
Modules Involved2
CriticalityCritical
Processing Steps
StepActionPurpose
1bun (entry point, imports 5 modules)Data acquisition
2server (leaf — no further dependencies)Processing step
Flow Diagram
┌─ START ─┐
│ `bun` (entry point, imports 5 modules)             │
│         ↓
│ `server` (leaf — no further dependencies)          │
└─ END ───┘
Involved Modules
ModuleRole
bunCore application module
serverCore application module
Dependencies

Shared libraries used: src/utils

Insights
  • ⚠️ Critical path — Failures here have significant business impact
  • 📊 Consider adding monitoring and alerting
  • 🧪 Ensure comprehensive test coverage

3. css Request Flow 🔴 CRITICAL FLOW

Description

Import chain starting from src/helper/css — traces how this entry point depends on 1 downstream module

Characteristics
PropertyValue
Steps2
Modules Involved2
CriticalityCritical
Processing Steps
StepActionPurpose
1css (entry point, imports 5 modules)Data acquisition
2constants (shared infrastructure, used by 13 files)Processing step
Flow Diagram
┌─ START ─┐
│ `css` (entry point, imports 5 modules)             │
│         ↓
│ `constants` (shared infrastructure, used by 13 ... │
└─ END ───┘
Involved Modules
ModuleRole
cssUtility and helper functions
constantsCore application module
Dependencies

Shared libraries used: src/utils

Insights
  • ⚠️ Critical path — Failures here have significant business impact
  • 📊 Consider adding monitoring and alerting
  • 🧪 Ensure comprehensive test coverage

4. deno Request Flow

Description

Import chain starting from src/adapter/deno — traces how this entry point depends on 3 downstream modules

Characteristics
PropertyValue
Steps4
Modules Involved4
CriticalityStandard
Processing Steps
StepActionPurpose
1deno (entry point, imports 4 modules)Data acquisition
2serve-static → imports 1 moduleData acquisition
3serve-static → imports 5 modulesData acquisition
4url (shared infrastructure, used by 9 files)Processing step
Flow Diagram
┌─ START ─┐
│ `deno` (entry point, imports 4 modules)            │
│         ↓
│ `serve-static` → imports 1 module                  │
│         ↓
│ `serve-static` → imports 5 modules                 │
│         ↓
│ `url` (shared infrastructure, used by 9 files)     │
└─ END ───┘
Involved Modules
ModuleRole
denoCore application module
serve-staticCore application module
serve-staticRequest/response middleware
urlUtility and helper functions
Dependencies

Shared libraries used: src/utils

Insights
  • Standard integration flow with 4 processing steps

5. jsx-runtime Request Flow

Description

Import chain starting from src/jsx/jsx-runtime — traces how this entry point depends on 2 downstream modules

Characteristics
PropertyValue
Steps3
Modules Involved3
CriticalityStandard
Processing Steps
StepActionPurpose
1jsx-runtime (entry point, imports 4 modules)Data acquisition
2html (shared infrastructure, used by 9 files)Processing step
3html (shared infrastructure, used by 8 files)Processing step
Flow Diagram
┌─ START ─┐
│ `jsx-runtime` (entry point, imports 4 modules)     │
│         ↓
│ `html` (shared infrastructure, used by 9 files)    │
│         ↓
│ `html` (shared infrastructure, used by 8 files)    │
└─ END ───┘
Involved Modules
ModuleRole
jsx-runtimeCore application module
htmlUtility and helper functions
htmlUtility and helper functions
Dependencies

Shared libraries used: src/utils

Insights
  • Standard integration flow with 3 processing steps

6. Authentication Flow 🔴 CRITICAL FLOW

Description

User authentication and session management

Characteristics
PropertyValue
Steps5
Modules Involved0
CriticalityCritical
Processing Steps
StepActionPurpose
1User submits login credentialsSecurity check
2Auth API validates credentialsInput validation
3Session is created and storedData persistence
4User is redirected to authenticated areaSecurity check
5Subsequent requests include auth tokenSecurity check
Flow Diagram
┌─ START ─┐
│ User submits login credentials                     │
│         ↓
│ Auth API validates credentials                     │
│         ↓
│ Session is created and stored                      │
│         ↓
│ User is redirected to authenticated area           │
│         ↓
│ Subsequent requests include auth token             │
└─ END ───┘
Dependencies

Shared libraries used: src/utils

External services: Authentication service

Insights
  • ⚠️ Critical path — Failures here have significant business impact
  • 📊 Consider adding monitoring and alerting
  • 🧪 Ensure comprehensive test coverage

7. API Integration Flow

Description

External service integrations and backend processing

Characteristics
PropertyValue
Steps5
Modules Involved1
CriticalityStandard
Processing Steps
StepActionPurpose
1Frontend makes API requestProcessing step
2API route receives and validates requestInput validation
3Business logic is executedObservability
4External services may be calledProcessing step
5Response is formatted and returnedOutput generation
Flow Diagram
┌─ START ─┐
│ Frontend makes API request                         │
│         ↓
│ API route receives and validates request           │
│         ↓
│ Business logic is executed                         │
│         ↓
│ External services may be called                    │
│         ↓
│ Response is formatted and returned                 │
└─ END ───┘
Involved Modules
ModuleRole
53 API endpoints detectedAPI layer and route handlers
Dependencies

Shared libraries used: src/utils

Insights
  • Standard integration flow with 5 processing steps

Import Network

The system has 288 internal import edges connecting 188 source files.

Network Topology
MetricValueMeaning
Total Edges288Direct import relationships
Hub Count0Central integration points
Avg Connections~1.5 per fileCoupling density

Flow detection uses naming conventions, import patterns, and dependency graph analysis. Enable AI enhancement with `GITHUB_TOKEN` for end-to-end flow narratives, failure mode analysis, data transformation descriptions, and performance bottleneck identification.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Architecture Diff

Mixed audience · Git diff analysis and impact assessment

No changes detected.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

System Map

Mixed audience · Visual dependency graph with explanation

What is this? This visual diagram shows how different parts of your codebase connect to each other. Arrows indicate dependencies (which modules use which).

Showing: 19 modules and 43 relationships

Source: Real import analysis


Architecture Diagram

┌─────────────────────────────────────────────────────────────┐
│              🏗️  SYSTEM ARCHITECTURE MAP                    │
└─────────────────────────────────────────────────────────────┘

🎯  CLI ENTRY
│
└── client (5 files)
       → utils
│
🔌  INTEGRATION
│
└── adapter (37 files)
       → utils
       → middleware
       → helper
       ... +2 more
│
📄  PAGES / ROUTES
│
├── router (16 files)
└── router.ts (1 file)
       → router
       → utils
│
🔀  MIDDLEWARE
│
└── middleware (36 files)
       → http-exception.ts
       → utils
       → request.ts
       ... +6 more
│
🛠️  UTILITIES
│
├── utils (27 files)
│      → helper
└── helper (25 files)
       → utils
       → jsx
       → hono.ts
       ... +5 more
│
📦  OTHER
│
├── jsx (27 files)
│      → helper
│      → utils
├── validator (3 files)
│      → helper
│      → http-exception.ts
│      → utils
├── preset (2 files)
│      → hono-base.ts
│      → router.ts
├── compose.ts (1 file)
├── context.ts (1 file)
│      → request.ts
│      → utils
├── hono-base.ts (1 file)
│      → compose.ts
│      → context.ts
│      → router
│      ... +1 more
├── hono.ts (1 file)
│      → hono-base.ts
│      → router.ts
├── http-exception.ts (1 file)
├── index.ts (1 file)
├── request.ts (1 file)
│      → http-exception.ts
│      → utils
├── types.ts (1 file)
└── request (1 file)
│

Legend:
  →  imports / depends on
  ╌→ tests

Key Connections

Most depended-on modules (highest import count):

ModuleImported by
utils48 modules
helper20 modules
http-exception.ts12 modules
router11 modules
router.ts9 modules

Most dependent modules (highest dependency count):

ModuleDepends on
middleware43 modules
helper22 modules
adapter12 modules
jsx11 modules
router.ts11 modules

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Developer Onboarding

Engineers · Quick start guide for new developers

Welcome to Hono! 👋

This guide will help you get up to speed quickly. Hono is a general-purpose tools project built with TypeScript, Node.js, containing 19 modules across 188 files.

What You'll Learn
  1. ✅ Repository structure and organization
  2. ✅ Technology stack and tools
  3. ✅ Key modules to understand first
  4. ✅ How data flows through the system
  5. ✅ How to start contributing

Quick Reference Card

AspectDetails
LanguagesTypeScript, Node.js
Frameworksgeneral-purpose tools
Build Toolsesbuild
TestingVitest
Size19 modules, 188 files
Domains7 functional areas
API53 endpoints

Repository Structure

Understanding the directory layout is your first step to navigating the codebase:

DirectoryPurposeStart Here?
srcApplication source code⭐ Yes
Where to Begin

Focus on these directories first:

  1. `src` — Application source code

Technology Stack

LayerTechnologiesWhat to Learn
LanguageTypeScript, Node.jsStrong typing — check types when debugging
BuildesbuildUnderstand the build pipeline
TestingVitestRun existing tests to understand behavior

Core Modules to Understand

These are the most important modules by size and centrality. Understanding them will unlock the rest of the codebase:

PriorityModuleFilesTypeWhy It Matters
⭐ Highsrc/adapter37integrationLarge module — core functionality
⭐ Highsrc/middleware36middlewareLarge module — core functionality
⭐ Highsrc/jsx27Other ModulesLarge module — core functionality
Mediumsrc/utils27Shared LibrariesShared code — reused throughout
Mediumsrc/helper25Shared LibrariesShared code — reused throughout
Mediumsrc/router16Route/Page ModulesKey system component
Lowsrc/client5Other ModulesKey system component
Lowsrc/validator3Other ModulesKey system component
Lowsrc/preset2Other ModulesKey system component
Lowsrc/compose.ts1Other ModulesKey system component

Key Routes

Understanding the routing structure helps you trace user interactions through the system.

API Endpoints
EndpointMethodsFilePurpose
/GETsrc/adapter/aws-lambda/conninfo.tsData operations
/GETsrc/adapter/aws-lambda/handler.tsData operations
/jsonGETsrc/adapter/aws-lambda/handler.tsData operations
/GETsrc/adapter/cloudflare-pages/conninfo.tsData operations
/GETsrc/adapter/netlify/conninfo.tsData operations
/GETsrc/adapter/service-worker/index.tsData operations
+44 more——Additional endpoints

How Data Flows

Understanding these flows helps you see how the system processes information end-to-end:

FlowDescriptionKey Modules
dom Request FlowImport chain starting from src/jsx/dom — traces how this e...dom, constants
bun Request FlowImport chain starting from src/adapter/bun — traces how th...bun, server
css Request FlowImport chain starting from src/helper/css — traces how thi...css, constants
deno Request FlowImport chain starting from src/adapter/deno — traces how t...deno, serve-static
jsx-runtime Request FlowImport chain starting from src/jsx/jsx-runtime — traces ho...jsx-runtime, html

Debugging tip: When investigating issues, trace the data flow from input to output to identify where problems occur.


Getting Started Checklist

Follow these steps to set up your development environment:

1. Clone and Install
git clone <repository-url>
cd hono
npm install  # or yarn, pnpm
2. Explore the Structure
  • Review the directory structure above
  • Open the README.md for project-specific instructions
  • Look for CONTRIBUTING.md for contribution guidelines
3. Understand Core Modules

Start with the high-priority modules listed above. Read the code and comments to understand:

  • What problem each module solves
  • How modules interact with each other
  • What data structures are used
4. Run the Tests
npm test  # or: npx vitest run

Running tests helps you:

  • Verify your setup is correct
  • See expected behavior documented in test cases
  • Understand module interfaces through test examples
5. Make Your First Change

Start small:

  1. Find a small bug or typo to fix
  2. Make the change in a feature branch
  3. Run tests to ensure nothing breaks
  4. Submit a pull request for review

Common Pitfalls

New contributors often run into these issues:

  • Circular dependencies — This codebase has 5 circular imports. Be careful not to introduce more.
  • Environment setup — Check for .env.example files and ensure you have all required environment variables.
  • Branch naming — Follow the team's branch naming conventions (usually feature/, fix/, docs/).

Additional Resources

ResourcePurpose
README.mdProject overview and quick start
CONTRIBUTING.mdContribution guidelines (if exists)
CHANGELOG.mdRecent changes and release history
package.jsonAvailable scripts and dependencies

This onboarding guide was generated from comprehensive repository analysis. Enable AI enhancement with `GITHUB_TOKEN` for narrative walkthroughs, common pitfall documentation, debugging tips, architecture deep-dives, and personalized contribution recommendations.

Welcome to the team! Happy coding! 🚀

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

GraphQL Schema

Engineers · GraphQL types, queries, mutations, and resolver map

No GraphQL schema was detected in this repository.

RepoLens scans for .graphql and .gql schema files, inline SDL via tagged template literals (e.g. gql\...\``), resolver patterns, and popular GraphQL libraries including Apollo, Yoga, Nexus, Pothos, Mercurius, type-graphql, Relay, and urql.

If your project uses GraphQL, ensure the relevant source directories are included in your scan.include configuration.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

TypeScript Type Graph

Engineers · TypeScript interfaces, types, classes, and relationships

80 file(s) with type declarations · 165 interface(s) · 59 type alias(es) · 28 class(es) · 3 enum(s) · 216 relationship(s)

This document maps the type system of the project, showing how interfaces, classes, and type aliases relate to one another. Understanding these relationships helps navigate the codebase and identify coupling between modules.

Interfaces

165 interfaces define the data contracts used across the application:

InterfaceExtendsSource
LatticeProxyEventV2—src/adapter/aws-lambda/handler.ts
APIGatewayProxyEventV2—src/adapter/aws-lambda/handler.ts
APIGatewayProxyEvent—src/adapter/aws-lambda/handler.ts
ALBProxyEvent—src/adapter/aws-lambda/handler.ts
CognitoIdentity—src/adapter/aws-lambda/types.ts
ClientContext—src/adapter/aws-lambda/types.ts
ClientContextClient—src/adapter/aws-lambda/types.ts
ClientContextEnv—src/adapter/aws-lambda/types.ts
LambdaContext—src/adapter/aws-lambda/types.ts
ClientCert—src/adapter/aws-lambda/types.ts
Identity—src/adapter/aws-lambda/types.ts
ApiGatewayRequestContext—src/adapter/aws-lambda/types.ts
Authorizer—src/adapter/aws-lambda/types.ts
ApiGatewayRequestContextV2—src/adapter/aws-lambda/types.ts
ALBRequestContext—src/adapter/aws-lambda/types.ts
LatticeRequestContextV2—src/adapter/aws-lambda/types.ts
BunWebSocketData—src/adapter/bun/websocket.ts
CloudFrontHeader—src/adapter/lambda-edge/handler.ts
CloudFrontHeaders—src/adapter/lambda-edge/handler.ts
CloudFrontCustomOrigin—src/adapter/lambda-edge/handler.ts
CloudFrontS3Origin—src/adapter/lambda-edge/handler.ts
CloudFrontRequest—src/adapter/lambda-edge/handler.ts
CloudFrontResponse—src/adapter/lambda-edge/handler.ts
CloudFrontConfig—src/adapter/lambda-edge/handler.ts
CloudFrontEvent—src/adapter/lambda-edge/handler.ts
CloudFrontEdgeEvent—src/adapter/lambda-edge/handler.ts
Callback—src/adapter/lambda-edge/handler.ts
CloudFrontResult—src/adapter/lambda-edge/handler.ts
ExtendableEventEventsrc/adapter/service-worker/types.ts
FetchEventExtendableEventsrc/adapter/service-worker/types.ts
ResponseClientResponsesrc/client/types.ts
CallbackOptions—src/client/types.ts
ExecutionContext—src/context.ts
ContextVariableMap—src/context.ts
ContextRenderer—src/context.ts
DefaultRenderer—src/context.ts
NewResponse—src/context.ts
BodyRespond—src/context.ts
TextRespond—src/context.ts
JSONRespond—src/context.ts
HTMLRespond—src/context.ts
SetHeadersOptions—src/context.ts
SetHeaders—src/context.ts
RouterRoute—src/types.ts
NotFoundResponse—src/types.ts
HTTPResponseErrorErrorsrc/types.ts
Accept—src/helper/accepts/accepts.ts
acceptsConfig—src/helper/accepts/accepts.ts
acceptsOptionsacceptsConfigsrc/helper/accepts/accepts.ts
ConnInfo—src/helper/conninfo/types.ts
GetCookie—src/helper/cookie/index.ts
GetSignedCookie—src/helper/cookie/index.ts
CssClassName—src/helper/css/common.ts
CssEscapedString—src/helper/css/common.ts
CssType—src/helper/css/index.ts
CxType—src/helper/css/index.ts
KeyframesType—src/helper/css/index.ts
ViewTransitionType—src/helper/css/index.ts
StyleType—src/helper/css/index.ts
DefaultContextType—src/helper/css/index.ts
ShowRoutesOptions—src/helper/dev/index.ts
RouteData—src/helper/dev/index.ts
ProxyFetch—src/helper/proxy/index.ts
SSGParam—src/helper/ssg/middleware.ts
SSGParamsMiddleware—src/helper/ssg/middleware.ts
FileSystemModule—src/helper/ssg/ssg.ts
ToSSGResult—src/helper/ssg/ssg.ts
SSGPlugin—src/helper/ssg/ssg.ts
ToSSGOptions—src/helper/ssg/ssg.ts
ToSSGInterface—src/helper/ssg/ssg.ts
FilterStaticGenerateRouteData—src/helper/ssg/utils.ts
SSEMessage—src/helper/streaming/sse.ts
SendOptions—src/helper/websocket/index.ts
WebSocketHelperDefineContext—src/helper/websocket/index.ts
ElementChildrenAttribute—src/jsx/base.ts
IntrinsicAttributes—src/jsx/base.ts
CSSProperties—src/jsx/intrinsic-elements.ts
JSXAttributes—src/jsx/intrinsic-elements.ts
EventAttributes—src/jsx/intrinsic-elements.ts
HTMLAttributesJSXAttributes, EventAttributes, AnyAttributessrc/jsx/intrinsic-elements.ts
AnchorHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
AudioHTMLAttributesMediaHTMLAttributessrc/jsx/intrinsic-elements.ts
AreaHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
BaseHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
BlockquoteHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ButtonHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
CanvasHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ColHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ColgroupHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
DataHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
DetailsHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
DelHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
DialogHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
EmbedHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
FieldsetHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
FormHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
HtmlHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
IframeHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ImgHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
InsHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
InputHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
KeygenHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
LabelHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
LiHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
LinkHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
MapHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
MenuHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
MediaHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
MetaHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
MeterHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
QuoteHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ObjectHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
OlHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
OptgroupHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
OptionHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
OutputHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ParamHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ProgressHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
SlotHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ScriptHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
SelectHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
SourceHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
StyleHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
TableHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
TextareaHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
TdHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
ThHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
TimeHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
TrackHTMLAttributesHTMLAttributessrc/jsx/intrinsic-elements.ts
VideoHTMLAttributesMediaHTMLAttributessrc/jsx/intrinsic-elements.ts
IntrinsicElements—src/jsx/intrinsic-elements.ts
Root—src/jsx/dom/client.ts
CreateCssJsxDomObjectsType—src/jsx/dom/css.ts
CssType—src/jsx/dom/css.ts
CxType—src/jsx/dom/css.ts
KeyframesType—src/jsx/dom/css.ts
ViewTransitionType—src/jsx/dom/css.ts
DefaultContextType—src/jsx/dom/css.ts
RenderToStringOptions—src/jsx/dom/server.ts
RenderToReadableStreamOptions—src/jsx/dom/server.ts
CompressionOptions—src/middleware/compress/index.ts
CSRFOptions—src/middleware/csrf/index.ts
IPRestrictionRules—src/middleware/ip-restriction/index.ts
ContextVariableMapJwtVariablessrc/middleware/jwt/index.ts
ContextVariableMapLanguageVariablessrc/middleware/language/index.ts
DetectorOptions—src/middleware/language/language.ts
LanguageVariables—src/middleware/language/language.ts
PrettyOptions—src/middleware/pretty-json/index.ts
ContextVariableMapRequestIdVariablessrc/middleware/request-id/index.ts
ContextVariableMapSecureHeadersVariablessrc/middleware/secure-headers/index.ts
ContentSecurityPolicyOptions—src/middleware/secure-headers/secure-headers.ts
ReportToOptions—src/middleware/secure-headers/secure-headers.ts
ReportToEndpoint—src/middleware/secure-headers/secure-headers.ts
ReportingEndpointOptions—src/middleware/secure-headers/secure-headers.ts
SecureHeadersOptions—src/middleware/secure-headers/secure-headers.ts
ContextVariableMapTimingVariablessrc/middleware/timing/index.ts
Timer—src/middleware/timing/timing.ts
TimingOptions—src/middleware/timing/timing.ts
SetMetric—src/middleware/timing/timing.ts
Context—src/router/reg-exp-router/node.ts
Accept—src/utils/accept.ts
ParseBody—src/utils/body.ts
Pool—src/utils/concurrent.ts
HonoJsonWebKeyJsonWebKeysrc/utils/jwt/jws.ts
TokenHeader—src/utils/jwt/jwt.ts

Classes

28 classes provide concrete implementations:

ClassExtendsImplementsSource
FetcherLike——src/adapter/cloudflare-pages/handler.ts
ClientRequestImpl——src/client/client.ts
DetailedErrorError—src/client/fetch-result-please.ts
HTTPExceptionError—src/http-exception.ts
UnsupportedPathErrorError—src/router.ts
FetchEventLike——src/types.ts
SSEStreamingApiStreamingApi—src/helper/streaming/sse.ts
JSXNode—HtmlEscapedsrc/jsx/base.ts
JSXFunctionNodeJSXNode—src/jsx/base.ts
JSXFragmentNodeJSXNode—src/jsx/base.ts
Node——src/router/reg-exp-router/node.ts
Trie——src/router/reg-exp-router/trie.ts
StreamingApi——src/utils/stream.ts
JwtAlgorithmNotImplementedError—src/utils/jwt/types.ts
JwtAlgorithmRequiredError—src/utils/jwt/types.ts
JwtAlgorithmMismatchError—src/utils/jwt/types.ts
JwtTokenInvalidError—src/utils/jwt/types.ts
JwtTokenNotBeforeError—src/utils/jwt/types.ts
JwtTokenExpiredError—src/utils/jwt/types.ts
JwtTokenIssuedAtError—src/utils/jwt/types.ts
JwtTokenIssuerError—src/utils/jwt/types.ts
JwtHeaderInvalidError—src/utils/jwt/types.ts
JwtHeaderRequiresKidError—src/utils/jwt/types.ts
JwtSymmetricAlgorithmNotAllowedError—src/utils/jwt/types.ts
JwtAlgorithmNotAllowedError—src/utils/jwt/types.ts
JwtTokenSignatureMismatchedError—src/utils/jwt/types.ts
JwtPayloadRequiresAudError—src/utils/jwt/types.ts
JwtTokenAudienceError—src/utils/jwt/types.ts

Type Aliases

59 type aliases define computed or composite types:

TypeReferencesSource
LambdaEventAPIGatewayProxyEvent, APIGatewayProxyEventV2, ALBProxyEvent, LatticeProxyEventV2, Install, LatticeRequestContextV2, When, HTTP, API, Lambda, ApiGatewayRequestContextV2, Gateway, ApiGatewayRequestContext, Application, Load, Balancer, ALBRequestContext, WithHeaders, WithMultiValueHeaders, APIGatewayProxyResult, LambdaEvent, ReadableStreamDefaultReader, Uint8Array, AsyncGenerator, NodeJS, WritableStream, E, Env, S, Schema, BasePath, Hono, Handler, LambdaContext, Check, Update, HttpResponseStream, Internal, Server, HandleOptions, Converts, AWS, Accepts, ALB, Function, URLs, The, Optional, A, If, Hello, JSON, With, L, TypeError, Response, Invalid, EventProcessor, Headers, Request, RequestInit, TextEncoder, EventV2Processor, Cookiesrc/adapter/aws-lambda/handler.ts
ParamsP, Cloudflare, Workerssrc/adapter/cloudflare-pages/handler.ts
PagesFunctionEventContext, Env, Params, Data, Response, Cloudflare, Workerssrc/adapter/cloudflare-pages/handler.ts
CloudFrontOriginCloudFrontS3Originsrc/adapter/lambda-edge/handler.ts
CloudFrontContextInstall, Callback, CloudFrontRequest, CloudFrontResult, AmazonCloudFront, DeveloperGuide, Accepts, Lambda, Edge, Headers, CloudFrontHeaders, Hono, CloudFrontEdgeEvent, CloudFrontContext, Response, Reads, CloudFront, The, Fail, CloudFrontEvent, Records, TypeError, Unable, Request, Uint8Array, ArrayBuffer, TextEncoder, GET, HEADsrc/adapter/lambda-edge/handler.ts
MethodNameAllMETHOD_NAME_ALL_LOWERCASE, Type, HTTP, StandardMethods, METHODS, Expands, If, ExpandAllMethod, S, MethodNameAll, M, HonoRequest, Hono, BuildSearchParamsFn, URLSearchParams, ClientRequestOptions, T, ConstructorParameters, WebSocket, Standard, RequestInit, Custom, By, You, ClientRequest, Prefix, Path, Schema, Endpoint, R, HasRequiredKeys, ClientResponseOfEndpoint, Arg, P, Qsrc/client/types.ts
ClientResponseOfEndpointT, O, F, S, ClientResponse, ResponseFormat, U, StatusCode, ReadableStream, SuccessStatusCode, Exclude, Headers, Response, Uint8Array, ArrayBuffer, Blob, FormData, BuildSearch, Arg, Key, K, Query, IsEmptyObject, BuildPathname, P, Param, ApplyParam, TrimStartSlash, BuildPath, BuildTypedURL, Protocol, Host, Port, TypedURL, HonoURL, Prefix, Path, IsLiteral, TrimEndSlash, Rest, Hostname, ParseHostName, URL, R, Result, Head, Value, Pathname, Search, Fetch, InferRequestType, ClientRequestOptions, ClientResponseOfEndpoint, InferEndpointType, NonNullablesrc/client/types.ts
HeaderRecordContent, Type, BaseMime, ResponseHeader, Data, ArrayBuffer, Blob, Uint8Array, ReadableStream, Interface, ExecutionContext, Extends, A, Allows, For, Wrangler, ContextVariableMap, ContextRenderer, DefaultRenderer, The, Response, Renderer, Function, Extracts, PropsForRenderer, Parameters, Props, Layout, T, E, Environment, Get, Env, Key, Variables, NewResponse, StatusCode, HeaderRecord, ResponseOrInit, BodyRespond, U, ContentfulStatusCode, TypedResponse, TextRespond, An, JSON, JSONRespond, JSONRespondReturn, JSONValue, InvalidJSONValue, JSONParsed, HTML, Optional, HTTP, HTMLRespond, Options, ContextOptions, Bindings, Execution, FetchEventLike, Handler, NotFoundHandler, Result, H, RouterRoute, SetHeadersOptions, SetHeaders, ResponseHeadersInit, Headers, ResponseInit, TEXT_PLAINsrc/context.ts
GetPathRequest, E, Bindings, HonoOptions, Env, Hono, RegExpRouter, Router, H, RouterRoute, A, GetPath, When, MountOptionHandler, Context, MountReplaceRequest, MountOptions, S, Schema, BasePath, CurrentPath, HandlerInterface, OnHandlerInterface, MiddlewareHandlerInterface, This, To, Cannot, JavaScript, Implementation, METHODS, METHOD_NAME_ALL_LOWERCASE, MiddlewareHandler, METHOD_NAME_ALL, NotFoundHandler, ErrorHandler, Path, GET, SubPath, SubEnv, SubSchema, SubBasePath, SubCurrentPath, MergeSchemaPath, MergePath, Nextsrc/hono-base.ts
BodyArrayBuffer, Blob, FormData, BodyCache, Body, OptionalRequestInitProperties, RequiredRequestInit, RequestInit, Key, HonoRequest, P, I, Input, Request, For, Cloudflare, Workers, K, ValidationTargets, Short, Result, RouterRoute, P2, ParamKeys, RemoveQuestion, Simplify, UnionToIntersection, ParamKeyToRecord, Query, Get, A, B, User, Agent, RequestHeader, CustomHeader, Options, ParseBodyOptions, T, BodyData, BodyInit, JSON, Rebuilding, Response, Carry, Content, Type, Uint8Array, Parsessrc/request.ts
RuntimeT, C, Context, Bindings, Runtime, Deno, On, Fastly, Compute, ConfigStore, Bun, Cloudflare, Workers, Node, Edge, EdgeRuntimesrc/helper/adapter/index.ts
CssVariableBasicTypeCssClassName, CssEscapedString, CssVariableAsyncType, CssVariableBasicType, CssVariableArrayType, CssVariableType, A, CSS, The, Whitespace, Mustsrc/helper/css/common.ts
ClassNameSlugA, ClassNameSlug, The, OnInvalidSlug, TemplateStringsArray, CssVariableType, CssClassNamesrc/helper/css/common.ts
CssClassNameHtmlEscapedString, CssClassNameCommon, CssType, TemplateStringsArray, CssVariableType, CxType, CssClassName, KeyframesType, ViewTransitionType, StyleTypesrc/helper/css/index.ts
InitAppHono, E, CreateHandlersInterface, Env, P, I, Input, R, HandlerResponse, E2, H, I2, R2, E3, IntersectNonAnyTypes, I3, R3, E4, I4, R4, E5, I5, R5, E6, I6, R6, E7, I7, R7, E8, I8, R8, E9, I9, R9, E10, I10, R10, E11, Factory, InitApp, HonoOptionssrc/helper/factory/index.ts
SSGParamsSSGParam, SSGParamsMiddleware, E, Env, Context, SSGParams, MiddlewareHandler, AddedSSGDataRequest, Request, Define, SSG, Routesrc/helper/ssg/middleware.ts
BeforeRequestHookRequest, AfterResponseHook, Response, AfterGenerateHook, ToSSGResult, FileSystemModule, ToSSGOptions, BeforeRequestHook, SSGPlugin, Use, The, API, E, Env, S, Schema, BasePath, Hono, Generatorsrc/helper/ssg/ssg.ts
PropsFunctionComponentResult, HtmlEscapedString, JSXNode, Child, FC, P, Props, DOMAttributes, HonoJSX, HTMLAttributes, JSX, Element, ElementType, ElementChildrenAttribute, IntrinsicElements, TS2310, IntrinsicAttributes, Context, A, Z, Presentation, Or, Path, Rule, EMS, L, SuspendedContext, T, StringBufferWithCallbackssrc/jsx/base.ts
ChildJSXNode, Child, HtmlEscapedString, StringBufferWithCallbacks, HtmlEscaped, Function, Props, Invalid, JSX, Added, Reactsrc/jsx/base.ts
MemorableFCFC, T, DOM_MEMO, MemorableFC, This, DOM, So, DOM_RENDERERsrc/jsx/base.ts
ErrorHandlerFallbackRender, Child, ErrorBoundary, The, API, FC, PropsWithChildren, ErrorHandler, StreamingContext, ReturnType, HtmlEscapedString, Fragment, Prime, Esrc/jsx/components.ts
RenderStoreWeakMap, Context, AsyncLocalStorageLike, T, R, AsyncLocalStorageClass, AsyncHooksModule, AsyncLocalStorage, RenderStore, Unsettled, While, Stays, DOM, Node, Deno, Bun, Cloudflare, Workers, Property, CJS, To, Write, Provider, Read, LocalContexts, Resolve, Establish, Without, React, Reading, Already, Fallback, Capture, Shared, Create, Serversrc/jsx/context.ts
HasRenderToDomFC, DOM_RENDERER, ErrorHandler, Child, Container, HTMLElement, DocumentFragment, LocalJSXContexts, JSXContext, SupportedElement, SVGElement, MathMLElement, PreserveNodeType, NodeObject, Props, Node, Text, DOM_STASH, Context, Function, JSXNode, NodeString, PendingType, UpdateHook, WeakMap, Element, A, Z, PointerCapture, Capture, Presentation, Other, HTMLSelectElement, Unlike, SSR, DOM, DOMException, InvalidCharacterError, Event, SELECT, Deferred, INPUT, TEXTAREAsrc/jsx/dom/render.ts
UpdateMapResolveNodeObject, WeakMap, UpdateMapResolve, Function, Contextsrc/jsx/dom/render.ts
FormStatusFormData, FormContext, Context, FormStatus, This, The, T, N, Functionsrc/jsx/dom/hooks/index.ts
MessageFunctionContext, BasicAuthOptions, Function, MessageFunction, Basic, Auth, Middleware, Hono, The, Secure, Area, WWW, Authenticate, Unauthorized, Callback, MiddlewareHandler, HTTPException, If, You, With, Usersrc/middleware/basic-auth/index.ts
OnErrorContext, Response, BodyLimitOptions, OnError, Body, Limit, Middleware, Hono, The, MiddlewareHandler, File, Got, ERROR_MESSAGE, HTTPException, GET, HEAD, Only, Content, Length, Transfer, Encoding, Per, RFC, Read, Uint8Arraysrc/middleware/body-limit/index.ts
CacheKeyRequestGET, QUERY, CacheKeyRequest, URL, JSON, Response, Cache, Control, Cookie, Context, FormData, RFC, Section, TextEncoder, Uint8Arraysrc/middleware/cache/index.ts
ConditionContext, Create, An, MiddlewareHandler, Condition, Middleware, You, If, A, Otherwisesrc/middleware/combine/index.ts
EncodingENCODING_TYPES, ContentTypeFilter, CompressionOptions, Encodingsrc/middleware/compress/index.ts
GetIPAddrGetConnInfo, Context, IPv4, IPv6, CIDR, Notation, IPRestrictionRuleFunctionsrc/middleware/ip-restriction/index.ts
IPRestrictionRule—src/middleware/ip-restriction/index.ts
RendererOptionsComponentResult, Exclude, ReturnType, FC, Component, PropsForRenderer, Layout, Context, ComponentWithChildren, PropsWithChildren, RendererOptions, JSXNode, DOCTYPE, RequestContext, Provider, Transfer, Encoding, Content, Typesrc/middleware/jsx-renderer/index.ts
JwtVariablesT, JWT, Auth, Middleware, Hono, The, SignatureKey, A, If, SignatureAlgorithm, An, Available, HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, EdDSA, Authorization, Default, WWW, Authenticate, Defaults, URL, VerifyOptions, Additional, MiddlewareHandler, Optional, Yousrc/middleware/jwt/jwt.ts
DetectorTypeCacheType, DetectorOptions, Order, DetectorType, Query, Cookie, Index, URL, Header, Caching, Strict, Lax, None, Whether, Default, List, Optional, Enable, LanguageVariables, DEFAULT_OPTIONS, Parse, Accept, Languagesrc/middleware/language/language.ts
SecureHeadersVariablesContentSecurityPolicyOptionHandler, Context, ContentSecurityPolicyOptionValue, ContentSecurityPolicyOptions, ReportToOptions, ReportToEndpoint, ReportingEndpointOptions, PermissionsPolicyValue, PermissionsPolicyOptions, PermissionsPolicyDirective, SecureHeadersOptions, HeadersMap, HEADERS_MAP, Cross, Origin, Embedder, Policy, Resource, Opener, Agent, Cluster, Referrer, Strict, Transport, Securitysrc/middleware/secure-headers/secure-headers.ts
SecureHeadersCallbackContext, Uint8Array, NONCE, ContentSecurityPolicyOptionHandler, Secure, Headers, Middleware, Hono, SecureHeadersOptions, The, ContentSecurityPolicyOptions, Settings, Content, Security, Policy, Report, Only, Cross, Origin, Embedder, Resource, Opener, Agent, Cluster, Referrer, ReportingEndpointOptions, Reporting, Endpoints, ReportToOptions, To, Strict, Transport, X, Type, Options, DNS, Prefetch, Control, Download, Frame, Permitted, Domain, Policies, XSS, Protection, Powered, By, PermissionsPolicyOptions, Permissions, MiddlewareHandler, DEFAULT_OPTIONS, SecureHeadersCallback, HEADERS_MAP, A, Zsrc/middleware/secure-headers/secure-headers.ts
TimingVariablesTimer, TimingOptions, Context, Server, Timing, Middleware, Hono, The, Show, Whether, Total, Response, Time, Description, If, MiddlewareHandlersrc/middleware/timing/timing.ts
RegExpMatchArrayWithIndicesRegExpMatchArray, LinearRouter, T, Routersrc/router/linear-router/router.ts
RouteT, PatternRouter, Router, Route, UnsupportedPathError, Result, Paramssrc/router/pattern-router/router.ts
ParamAssocArrayContext, Sort, ONLY_WILDCARD_REG_EXP_STR, TAIL_WILDCARD_REG_EXP_STR, LABEL_REG_EXP_STR, Node, ParamAssocArraysrc/router/reg-exp-router/node.ts
RelocateMapParamIndexMap, PreparedRegExpRouter, T, Router, MatcherMap, RelocateMap, Matchersrc/router/reg-exp-router/prepared-router.ts
ReplacementMapTrie, Context, Nodesrc/router/reg-exp-router/trie.ts
HandlerSetT, HandlerParamsSet, HandlerSet, Node, Patternsrc/router/trie-router/node.ts
AuthRequestsrc/utils/basic-auth.ts
BodyDataValueDotFile, BodyDataValueDot, BodyDataValueDotAll, SimplifyBodyData, T, K, BodyDataValueComponent, BodyDataValueObject, BodyDataValue, BodyData, ParseBodyOptions, Determines, FormData, If, HonoRequest, Request, Parses, The, Options, ParseBody, Content, Typesrc/utils/body.ts
StringHashFunctionStringHashFunction, TimingSafeEqual, Function, ArrayBuffer, TextDecoder, FormData, Response, Normalize, Content, Typesrc/utils/buffer.ts
CookieSignedCookie, PartitionedCookieConstraintsrc/utils/cookie.ts
SecureCookieConstraintHostCookieConstraintsrc/utils/cookie.ts
CookieOptionsStrict, Lax, None, Low, Medium, High, CookiePrefixOptions, PartitionedCookieConstraint, CookieConstraint, Name, CookieOptions, SecureCookieConstraint, HostCookieConstraint, HMAC, SHA, BufferSource, CryptoKey, TextEncoder, Uint8Arraysrc/utils/cookie.ts
HtmlEscapedCallbackOptsHtmlEscapedCallbackPhase, An, JSX, This, WeakMap, HtmlEscapedCallback, HtmlEscapedCallbackOpts, HtmlEscaped, HtmlEscapedString, StringBuffer, The, When, Hono, StringBufferWithCallbacks, MITsrc/utils/html.ts
InvalidIPAddressErrorTypeError, INVALID_IP_ADDRESS_ERROR_CODE, CHAR_CODE_0, CHAR_CODE_9, CHAR_CODE_A, CHAR_CODE_F, CHAR_CODE_a, CHAR_CODE_f, CHAR_CODE_DOT, CHAR_CODE_COLON, CHAR_CODE_PERCENT, Distinct, Remote, Addr, AddressType, IPV4_REGEX, IPv4, Domain, IPv6, InvalidIPAddressError, Invalidsrc/utils/ipaddr.ts
BaseMime—src/utils/mime.ts
ExpectT, Equal, X, Y, NotEqual, UnionToIntersection, U, I, RemoveBlankRecord, K, IfAnyThenEmptyObject, JSONPrimitive, JSONArray, JSONObject, InvalidJSONValue, InvalidToNull, IsInvalid, JSON, OmitSymbolKeys, JSONValue, Convert, Non, TypeError, This, TError, ReadonlyArray, You, JSONParsed, J, Asrc/utils/types.ts
Pattern—src/utils/url.ts
DecoderDecoder, Fa, Try, If, UTF, The, Hello, World, A4, A2, Requestsrc/utils/url.ts
VerifyOptionsThe, Verify, Acceptable, VerifyOptionsWithAlg, SignatureAlgorithm, VerifyOptions, SignatureKey, JWTPayload, JwtAlgorithmRequired, JwtTokenInvalid, JwtHeaderInvalid, JwtAlgorithmMismatch, Math, JwtTokenNotBefore, JwtTokenExpired, JwtTokenIssuedAt, JwtTokenIssuer, JwtPayloadRequiresAud, JwtTokenAudience, Uint8Array, ArrayBuffer, JwtTokenSignatureMismatched, Symmetric, JWK, SymmetricAlgorithm, AlgorithmTypes, HS256, HS384, HS512, HonoJsonWebKey, AsymmetricAlgorithm, RequestInit, JwtHeaderRequiresKid, Reject, JwtSymmetricAlgorithmNotAllowed, Validate, JwtAlgorithmNotAllowed, JWKS, JsonWebKey, JWT, TokenHeadersrc/utils/jwt/jwt.ts
ValidationTargetKeysWithBodyValidationTargetByMethod, M, GET, HEAD, Exclude, ValidationTargets, ValidationTargetKeysWithBody, ValidationFunction, InputType, OutputType, E, Env, P, Context, TypedResponsesrc/validator/validator.ts
ExtractValidationResponseVF, R, PR, TypedResponse, T, S, F, Response, Can, InputType, P, M, U, ValidationTargetByMethod, P2, Capture, ValidationTargets, Context, V, K, ExtractValidatorOutput, InferInput, FormValue, E, Env, MiddlewareHandler, ExtractValidationResponse, Content, Type, Malformed, JSON, HTTPException, FormData, BodyDatasrc/validator/validator.ts

Enums

3 enums define named constant sets:

EnumSource
LogPrefixsrc/middleware/logger/index.ts
AlgorithmTypessrc/utils/jwt/jwa.ts
CryptoKeyUsagesrc/utils/jwt/types.ts

Type Relationships

The following diagram shows inheritance, implementation, and reference relationships between types:

LambdaEvent
  ├── uses → APIGatewayProxyEvent
  ├── uses → APIGatewayProxyEventV2
  ├── uses → ALBProxyEvent
  ├── uses → LatticeProxyEventV2
  ├── uses → LatticeRequestContextV2
  ├── uses → ApiGatewayRequestContextV2
  ├── uses → ApiGatewayRequestContext
  ├── uses → ALBRequestContext
  ├── uses → LambdaContext
  ├── uses → Response
  └── uses → Cookie
PagesFunction
  ├── uses → Params
  └── uses → Response
CloudFrontOrigin
  └── uses → CloudFrontS3Origin
CloudFrontContext
  ├── uses → Callback
  ├── uses → CloudFrontRequest
  ├── uses → CloudFrontResult
  ├── uses → CloudFrontHeaders
  ├── uses → CloudFrontEdgeEvent
  ├── uses → Response
  └── uses → CloudFrontEvent
FetchEvent
  └── extends → ExtendableEvent
MethodNameAll
  └── uses → ClientResponseOfEndpoint
ClientResponseOfEndpoint
  └── uses → Response
HeaderRecord
  ├── uses → BaseMime
  ├── uses → ExecutionContext
  ├── uses → ContextVariableMap
  ├── uses → ContextRenderer
  ├── uses → DefaultRenderer
  ├── uses → Response
  ├── uses → Props
  ├── uses → NewResponse
  ├── uses → BodyRespond
  ├── uses → TextRespond
  ├── uses → JSONRespond
  ├── uses → HTMLRespond
  ├── uses → FetchEventLike
  ├── uses → RouterRoute
  ├── uses → SetHeadersOptions
  └── uses → SetHeaders
GetPath
  ├── uses → RouterRoute
  ├── uses → Context
  └── uses → ErrorHandler
Body
  ├── uses → RouterRoute
  └── uses → Response
acceptsOptions
  └── extends → acceptsConfig
Runtime
  ├── uses → Context
  └── uses → Node
CssVariableBasicType
  ├── uses → CssClassName
  └── uses → CssEscapedString
ClassNameSlug
  └── uses → CssClassName
CssClassName
  ├── uses → CssType
  ├── uses → CxType
  ├── uses → KeyframesType
  ├── uses → ViewTransitionType
  └── uses → StyleType
SSGParams
  ├── uses → SSGParam
  ├── uses → SSGParamsMiddleware
  ├── uses → Context
  └── uses → Route
BeforeRequestHook
  ├── uses → Response
  ├── uses → ToSSGResult
  ├── uses → FileSystemModule
  ├── uses → ToSSGOptions
  └── uses → SSGPlugin
SSEStreamingApi
  └── extends → StreamingApi
Props
  ├── uses → JSXNode
  ├── uses → Child
  ├── uses → HTMLAttributes
  ├── uses → ElementChildrenAttribute
  ├── uses → IntrinsicElements
  ├── uses → IntrinsicAttributes
  └── uses → Context
Child
  ├── uses → JSXNode
  └── uses → Props
JSXFunctionNode
  └── extends → JSXNode
JSXFragmentNode
  └── extends → JSXNode
ErrorHandler
  └── uses → Child
RenderStore
  ├── uses → Context
  └── uses → Node
HTMLAttributes
  ├── extends → JSXAttributes
  └── extends → EventAttributes
AnchorHTMLAttributes
  └── extends → HTMLAttributes
AudioHTMLAttributes
  └── extends → MediaHTMLAttributes
AreaHTMLAttributes
  └── extends → HTMLAttributes
BaseHTMLAttributes
  └── extends → HTMLAttributes
BlockquoteHTMLAttributes
  └── extends → HTMLAttributes
ButtonHTMLAttributes
  └── extends → HTMLAttributes
CanvasHTMLAttributes
  └── extends → HTMLAttributes
ColHTMLAttributes
  └── extends → HTMLAttributes
ColgroupHTMLAttributes
  └── extends → HTMLAttributes
DataHTMLAttributes
  └── extends → HTMLAttributes
DetailsHTMLAttributes
  └── extends → HTMLAttributes
DelHTMLAttributes
  └── extends → HTMLAttributes
DialogHTMLAttributes
  └── extends → HTMLAttributes
EmbedHTMLAttributes
  └── extends → HTMLAttributes
FieldsetHTMLAttributes
  └── extends → HTMLAttributes
FormHTMLAttributes
  └── extends → HTMLAttributes
HtmlHTMLAttributes
  └── extends → HTMLAttributes
IframeHTMLAttributes
  └── extends → HTMLAttributes
ImgHTMLAttributes
  └── extends → HTMLAttributes
InsHTMLAttributes
  └── extends → HTMLAttributes
InputHTMLAttributes
  └── extends → HTMLAttributes
KeygenHTMLAttributes
  └── extends → HTMLAttributes
LabelHTMLAttributes
  └── extends → HTMLAttributes
LiHTMLAttributes
  └── extends → HTMLAttributes
LinkHTMLAttributes
  └── extends → HTMLAttributes
MapHTMLAttributes
  └── extends → HTMLAttributes
MenuHTMLAttributes
  └── extends → HTMLAttributes
MediaHTMLAttributes
  └── extends → HTMLAttributes
MetaHTMLAttributes
  └── extends → HTMLAttributes
MeterHTMLAttributes
  └── extends → HTMLAttributes
QuoteHTMLAttributes
  └── extends → HTMLAttributes
ObjectHTMLAttributes
  └── extends → HTMLAttributes
OlHTMLAttributes
  └── extends → HTMLAttributes
OptgroupHTMLAttributes
  └── extends → HTMLAttributes
OptionHTMLAttributes
  └── extends → HTMLAttributes
OutputHTMLAttributes
  └── extends → HTMLAttributes
ParamHTMLAttributes
  └── extends → HTMLAttributes
ProgressHTMLAttributes
  └── extends → HTMLAttributes
SlotHTMLAttributes
  └── extends → HTMLAttributes
ScriptHTMLAttributes
  └── extends → HTMLAttributes
SelectHTMLAttributes
  └── extends → HTMLAttributes
SourceHTMLAttributes
  └── extends → HTMLAttributes
StyleHTMLAttributes
  └── extends → HTMLAttributes
TableHTMLAttributes
  └── extends → HTMLAttributes
TextareaHTMLAttributes
  └── extends → HTMLAttributes
TdHTMLAttributes
  └── extends → HTMLAttributes
ThHTMLAttributes
  └── extends → HTMLAttributes
TimeHTMLAttributes
  └── extends → HTMLAttributes
TrackHTMLAttributes
  └── extends → HTMLAttributes
VideoHTMLAttributes
  └── extends → MediaHTMLAttributes
HasRenderToDom
  ├── uses → ErrorHandler
  ├── uses → Child
  ├── uses → Props
  ├── uses → Node
  ├── uses → Context
  └── uses → JSXNode
UpdateMapResolve
  └── uses → Context
FormStatus
  └── uses → Context
MessageFunction
  ├── uses → Context
  ├── uses → Auth
  ├── uses → Callback
  └── uses → HTTPException
OnError
  ├── uses → Context
  ├── uses → Response
  ├── uses → Body
  ├── uses → HTTPException
  └── uses → Encoding
CacheKeyRequest
  ├── uses → Response
  ├── uses → Cookie
  └── uses → Context
Condition
  └── uses → Context
Encoding
  └── uses → CompressionOptions
GetIPAddr
  └── uses → Context
RendererOptions
  ├── uses → Context
  ├── uses → JSXNode
  └── uses → Encoding
ContextVariableMap
  ├── extends → JwtVariables
  ├── extends → LanguageVariables
  ├── extends → SecureHeadersVariables
  └── extends → TimingVariables
JwtVariables
  ├── uses → Auth
  └── uses → VerifyOptions
DetectorType
  ├── uses → DetectorOptions
  ├── uses → Cookie
  ├── uses → LanguageVariables
  └── uses → Accept
SecureHeadersVariables
  ├── uses → Context
  ├── uses → ContentSecurityPolicyOptions
  ├── uses → ReportToOptions
  ├── uses → ReportToEndpoint
  ├── uses → ReportingEndpointOptions
  └── uses → SecureHeadersOptions
SecureHeadersCallback
  ├── uses → Context
  ├── uses → SecureHeadersOptions
  ├── uses → ContentSecurityPolicyOptions
  ├── uses → ReportingEndpointOptions
  └── uses → ReportToOptions
TimingVariables
  ├── uses → Timer
  ├── uses → TimingOptions
  ├── uses → Context
  └── uses → Response
Route
  ├── uses → UnsupportedPathError
  └── uses → Params
ParamAssocArray
  ├── uses → Context
  └── uses → Node
ReplacementMap
  ├── uses → Trie
  ├── uses → Context
  └── uses → Node
HandlerSet
  ├── uses → Node
  └── uses → Pattern
BodyDataValueDot
  └── uses → ParseBody
StringHashFunction
  └── uses → Response
CookieOptions
  └── uses → SecureCookieConstraint
VerifyOptions
  ├── uses → JwtAlgorithmRequired
  ├── uses → JwtTokenInvalid
  ├── uses → JwtHeaderInvalid
  ├── uses → JwtAlgorithmMismatch
  ├── uses → JwtTokenNotBefore
  ├── uses → JwtTokenExpired
  ├── uses → JwtTokenIssuedAt
  ├── uses → JwtTokenIssuer
  ├── uses → JwtPayloadRequiresAud
  ├── uses → JwtTokenAudience
  ├── uses → JwtTokenSignatureMismatched
  ├── uses → AlgorithmTypes
  ├── uses → HonoJsonWebKey
  ├── uses → JwtHeaderRequiresKid
  ├── uses → JwtSymmetricAlgorithmNotAllowed
  ├── uses → JwtAlgorithmNotAllowed
  └── uses → TokenHeader
ValidationTargetKeysWithBody
  └── uses → Context
ExtractValidationResponse
  ├── uses → Response
  ├── uses → Context
  └── uses → HTTPException

Generated by RepoLens static analysis. Type detection uses regex-based parsing and may not capture all advanced TypeScript patterns.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Dependency Graph

Engineers · Module dependency analysis with cycle detection

188 files · 288 imports · 0 external packages · ⚠️ 5 circular dependency cycle(s) · 19 orphan file(s)

This document maps every import relationship in the codebase, identifies the most-connected modules, and flags circular dependencies that may complicate refactoring or increase build times.

Overview

MetricValue
Source files188
Import edges288
External packages0
Circular dependencies5
Orphan files (no imports or importers)19

Circular Dependencies

5 circular dependency chains were detected. Circular imports can cause initialization errors, increase bundle sizes, and make modules harder to test in isolation. Consider refactoring shared logic into a separate module.

  1. src/jsx/base → src/jsx/context → src/jsx/base
  2. src/jsx/context → src/jsx/dom/context → src/jsx/context
  3. src/jsx/base → src/jsx/intrinsic-element/components → src/jsx/base
  4. src/jsx/hooks → src/jsx/dom/render → src/jsx/hooks
  5. src/jsx/components → src/jsx/streaming → src/jsx/components

Generated by RepoLens import analysis. Dependency detection covers JavaScript and TypeScript (ES modules, dynamic import, CommonJS, re-exports; comments, strings, and type-only imports are skipped), Python (`import` / `from ... import`, including relative imports), and Go (`go.mod` module paths). Go `_test.go` files are not part of the graph.*

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Architecture Drift

Mixed audience · Structural changes compared to baseline snapshot

No baseline found. Run repolens publish once to establish a baseline.

A baseline snapshot of the current architecture has been saved. On subsequent runs, this report will track structural changes across the following dimensions:

DimensionWhat is Tracked
ModulesNew, removed, or significantly resized modules
API EndpointsAdded or removed backend routes
DependenciesChanges to external package imports
FrameworksTechnology stack additions or removals
Circular DependenciesIncreases in dependency cycles
GraphQL SchemaType additions or removals
Codebase ScaleOverall file count changes

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Security Hotspots

Engineers · Security anti-pattern detection with CWE classification

24 security finding(s) · 3 high severity · 4 medium severity · 17 low severity · across 17 file(s)

This report identifies code patterns that are commonly associated with security vulnerabilities. Each finding includes the relevant CWE classification and a recommended remediation.

Severity Overview

SeverityCount
🔴 High3
🟡 Medium4
🔵 Low17

188 source files scanned · 17 files with findings

Prototype Pollution

Deep merge utilities may be vulnerable to prototype pollution if they don't check hasOwnProperty. Verify the implementation.

FileLinePatternSeverityCWE
src/client/utils.ts78Recursive object merge without prototype check🔵 LowCWE-1321
src/hono-base.ts189Recursive object merge without prototype check🔵 LowCWE-1321
src/helper/css/index.ts159Recursive object merge without prototype check🔵 LowCWE-1321
src/helper/css/index.ts163Recursive object merge without prototype check🔵 LowCWE-1321
src/jsx/dom/intrinsic-element/components.ts429Recursive object merge without prototype check🔵 LowCWE-1321

ReDoS

Dynamic regex construction from user input can cause ReDoS. Use static regex or input validation.

FileLinePatternSeverityCWE
src/client/utils.ts20Potentially catastrophic regex🔵 LowCWE-1333
src/helper/css/common.ts3Potentially catastrophic regex🔵 LowCWE-1333
src/helper/css/index.ts86Potentially catastrophic regex🔵 LowCWE-1333
src/jsx/streaming.ts112Potentially catastrophic regex🔵 LowCWE-1333
src/middleware/bearer-auth/index.ts119Potentially catastrophic regex🔵 LowCWE-1333
src/router/linear-router/router.ts104Potentially catastrophic regex🔵 LowCWE-1333
src/router/pattern-router/router.ts32Potentially catastrophic regex🔵 LowCWE-1333
src/router/reg-exp-router/router.ts23Potentially catastrophic regex🔵 LowCWE-1333
src/router/reg-exp-router/trie.ts82Potentially catastrophic regex🔵 LowCWE-1333
src/utils/ipaddr.ts41Potentially catastrophic regex🔵 LowCWE-1333
src/utils/url.ts67Potentially catastrophic regex🔵 LowCWE-1333
src/utils/url.ts68Potentially catastrophic regex🔵 LowCWE-1333

Cross-Site Scripting (XSS)

dangerouslySetInnerHTML bypasses React's XSS protection. Ensure content is sanitized before use.

FileLinePatternSeverityCWE
src/jsx/base.ts281React dangerouslySetInnerHTML🟡 MediumCWE-79
src/jsx/base.ts283React dangerouslySetInnerHTML🟡 MediumCWE-79
src/jsx/intrinsic-elements.ts22React dangerouslySetInnerHTML🟡 MediumCWE-79
src/jsx/dom/render.ts188innerHTML assignment🔴 HighCWE-79
src/jsx/dom/render.ts187React dangerouslySetInnerHTML🟡 MediumCWE-79
src/jsx/dom/intrinsic-element/components.ts194innerHTML assignment🔴 HighCWE-79

SQL Injection

Concatenating user input into SQL queries enables injection attacks. Use parameterized queries or prepared statements.

FileLinePatternSeverityCWE
src/jsx/hooks/index.ts425SQL string concatenation🔴 HighCWE-89

Affected Files

  • src/client/utils.ts
  • src/hono-base.ts
  • src/helper/css/common.ts
  • src/helper/css/index.ts
  • src/jsx/base.ts
  • src/jsx/intrinsic-elements.ts
  • src/jsx/streaming.ts
  • src/jsx/dom/render.ts
  • src/jsx/dom/intrinsic-element/components.ts
  • src/jsx/hooks/index.ts
  • src/middleware/bearer-auth/index.ts
  • src/router/linear-router/router.ts
  • src/router/pattern-router/router.ts
  • src/router/reg-exp-router/router.ts
  • src/router/reg-exp-router/trie.ts
  • src/utils/ipaddr.ts
  • src/utils/url.ts

Generated by RepoLens security pattern analysis. Detection is regex-based and may produce false positives. Findings should be triaged by a security-aware engineer.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples

Code Health Report

Mixed audience · Per-module health scores from complexity, coupling, docs, and security

188 files analyzed · Average health: 84/100 · 129 A, 23 B, 31 C, 3 D, 2 F

This report synthesizes complexity, coupling, documentation, and security signals into a single health score per module. Lower scores indicate higher risk and maintenance burden.

Overview

MetricValue
Files analyzed188
Average health score84/100
Average complexity20
Hotspots (score < 60)20

Grade Distribution

GradeCountMeaning
🟢 A (80–100)129Healthy — low complexity, well-documented
🔵 B (60–79)23Acceptable — minor improvements possible
🟡 C (40–59)31Needs attention — elevated complexity or coupling
🟠 D (20–39)3At risk — multiple quality signals degraded
🔴 F (0–19)2Critical — immediate refactoring recommended

Hotspots — Priority Refactoring Targets

These modules have the lowest health scores and should be prioritized for improvement:

ModuleScoreGradeComplexityCouplingDoc%Security
src/jsx/base.ts18🔴 F548↓ 7↑0%2 (0 high)
src/jsx/dom/render.ts18🔴 F2365↓ 6↑0%2 (1 high)
src/jsx/dom/intrinsic-element/components.ts25🟠 D841↓ 5↑0%2 (1 high)
src/jsx/hooks/index.ts28🟠 D646↓ 2↑0%1 (1 high)
src/utils/jwt/jwt.ts35🟠 D721↓ 5↑0%—
src/jsx/intrinsic-elements.ts40🟡 C4340↓ 0↑—1 (0 high)
src/utils/jwt/jws.ts41🟡 C361↓ 4↑0%—
src/adapter/aws-lambda/handler.ts45🟡 C951↓ 1↑100%—
src/adapter/lambda-edge/handler.ts45🟡 C461↓ 1↑——
src/client/client.ts45🟡 C571↓ 2↑——
src/client/types.ts45🟡 C850↓ 0↑——
src/hono-base.ts45🟡 C503↓ 5↑—1 (0 high)
src/types.ts45🟡 C690↓ 0↑——
src/helper/ssg/ssg.ts45🟡 C861↓ 6↑——
src/jsx/components.ts45🟡 C482↓ 7↑——
src/jsx/intrinsic-element/components.ts45🟡 C521↓ 6↑——
src/middleware/compress/index.ts45🟡 C420↓ 2↑——
src/middleware/serve-static/index.ts45🟡 C393↓ 5↑——
src/router/linear-router/router.ts45🟡 C571↓ 2↑—1 (0 high)
src/router/reg-exp-router/node.ts45🟡 C602↓ 1↑——

Most Complex Functions

These functions have the highest cyclomatic complexity and are the most likely sources of bugs:

FunctionFileLineComplexity
normalizeFormValue()src/jsx/dom/render.ts144182
sanitizeHeaderValue()src/adapter/aws-lambda/handler.ts1494
isTokenHeader()src/utils/jwt/jwt.ts4470
parseIPv4ToBinary()src/utils/ipaddr.ts8466
compareKey()src/router/reg-exp-router/node.ts2260
isDeDupeCandidateLink()src/jsx/dom/intrinsic-element/components.ts8251
buildWildcardRegExp()src/router/reg-exp-router/router.ts2234
createProxy()src/client/client.ts1530
fallbackUpdateFn()src/jsx/dom/render.ts67829
promise()src/jsx/dom/intrinsic-element/components.ts22725
bearerAuth()src/middleware/bearer-auth/index.ts15624
render()src/jsx/base.ts12922
documentMetadataTag()src/jsx/intrinsic-element/components.ts9622
defaultOnInvalidSlug()src/helper/css/common.ts7521
logger()src/helper/route/index.ts1621

All Modules by Health Score

Showing 50 of 188 modules (sorted worst-first)

ModuleScoreGradeLinesComplexityFan-InFan-Out
src/jsx/base.ts18🔴 F4915487
src/jsx/dom/render.ts18🔴 F88023656
src/jsx/dom/intrinsic-element/components.ts25🟠 D4398415
src/jsx/hooks/index.ts28🟠 D4386462
src/utils/jwt/jwt.ts35🟠 D2937215
src/jsx/intrinsic-elements.ts40🟡 C92543400
src/utils/jwt/jws.ts41🟡 C2353614
src/adapter/aws-lambda/handler.ts45🟡 C7279511
src/adapter/lambda-edge/handler.ts45🟡 C2644611
src/client/client.ts45🟡 C2505712
src/client/types.ts45🟡 C3948500
src/hono-base.ts45🟡 C5655035
src/types.ts45🟡 C27836900
src/helper/ssg/ssg.ts45🟡 C4728616
src/jsx/components.ts45🟡 C2584827
src/jsx/intrinsic-element/components.ts45🟡 C2115216
src/middleware/compress/index.ts45🟡 C1444202
src/middleware/serve-static/index.ts45🟡 C1363935
src/router/linear-router/router.ts45🟡 C1535712
src/router/reg-exp-router/node.ts45🟡 C1716021
src/utils/accept.ts45🟡 C2696540
src/utils/ipaddr.ts45🟡 C3757210
src/utils/url.ts45🟡 C3387690
src/middleware/cache/index.ts46🟡 C3256302
src/middleware/jwk/jwk.ts46🟡 C1973714
src/middleware/ip-restriction/index.ts50🟡 C2805102
src/middleware/language/language.ts50🟡 C3154012
src/middleware/timing/timing.ts50🟡 C2583511
src/utils/body.ts50🟡 C2643521
src/middleware/secure-headers/secure-headers.ts52🟡 C3427411
src/router/reg-exp-router/router.ts53🟡 C1753426
src/router/trie-router/node.ts53🟡 C2223413
src/utils/types.ts53🟡 C1213400
src/adapter/aws-lambda/types.ts56🟡 C2023300
src/jsx/context.ts56🟡 C26732104
src/router/reg-exp-router/prepared-router.ts59🟡 C1663213
src/context.ts60🔵 B79810572
src/client/utils.ts62🔵 B1183031
src/jsx/streaming.ts68🔵 B2322848
src/middleware/bearer-auth/index.ts68🔵 B2222702
src/middleware/cors/index.ts68🔵 B1653000
src/middleware/trailing-slash/index.ts68🔵 B1592800
src/helper/cookie/index.ts69🔵 B1462641
src/helper/css/common.ts69🔵 B3382620
src/utils/buffer.ts69🔵 B1182641
src/middleware/etag/digest.ts72🔵 B961610
src/middleware/jwt/jwt.ts72🔵 B1912814
src/middleware/etag/index.ts73🔵 B1372501
src/jsx/dom/server.ts74🔵 B772102
src/middleware/method-override/index.ts74🔵 B1492201

Scoring Methodology

The health score (0–100) is computed from four dimensions:

FactorWeightHow It's Measured
Complexity–1/pt above 10, –2/pt above 30Cyclomatic complexity for JavaScript/TypeScript, Python, and Go (regex, not AST)
Function complexity–2/pt above 8 per functionHighest complexity function in the file
Coupling–1/5 units above 20Fan-in × Fan-out (import connections)
Documentation–10 if <50%, –5 if <80%JSDoc/TSDoc coverage of exports
Security–10/high, –5/medium findingSecurity anti-pattern findings in file

Generated by RepoLens code health analysis. Complexity covers JavaScript/TypeScript, Python, and Go. It is regex-based and may differ from AST-based tools. Scores are relative indicators, not absolute quality measures.

<!-- repolens:docs-badge --> ![Docs by RepoLens](https://github.com/CHAPIBUNNY/repolens) · Examples