e675d50046
* perf(utils/url): use `slice` + `indexOf` for `getPath()` * denoify |
||
---|---|---|
.devcontainer | ||
.github | ||
.vitest.config | ||
.vscode | ||
benchmarks | ||
deno_dist | ||
docs | ||
runtime_tests | ||
src | ||
.eslintrc.cjs | ||
.gitignore | ||
.prettierrc | ||
build.ts | ||
bun.lockb | ||
bunfig.toml | ||
LICENSE | ||
package.cjs.json | ||
package.json | ||
README.md | ||
tsconfig.build.json | ||
tsconfig.json | ||
vitest.config.ts | ||
yarn.lock |
Documentation 👉 hono.dev
v4 has been released! Migration guide
Hono - [炎] means flame🔥 in Japanese - is a small, simple, and ultrafast web framework for the Edges. It works on any JavaScript runtime: Cloudflare Workers, Fastly Compute, Deno, Bun, Vercel, AWS Lambda, Lambda@Edge, and Node.js.
Fast, but not only fast.
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => c.text('Hono!'))
export default app
Quick Start
npm create hono@latest
Features
- Ultrafast 🚀 - The router
RegExpRouter
is really fast. Not using linear loops. Fast. - Lightweight 🪶 - The
hono/tiny
preset is under 13kB. Hono has zero dependencies and uses only the Web Standard API. - Multi-runtime 🌍 - Works on Cloudflare Workers, Fastly Compute, Deno, Bun, AWS Lambda, Lambda@Edge, or Node.js. The same code runs on all platforms.
- Batteries Included 🔋 - Hono has built-in middleware, custom middleware, and third-party middleware. Batteries included.
- Delightful DX 😃 - Super clean APIs. First-class TypeScript support. Now, we've got "Types".
Benchmarks
Hono is the fastest, compared to other routers for Cloudflare Workers.
Hono x 510,171 ops/sec ±4.61% (82 runs sampled)
itty-router x 285,810 ops/sec ±4.13% (85 runs sampled)
sunder x 345,272 ops/sec ±4.46% (87 runs sampled)
worktop x 203,468 ops/sec ±3.03% (91 runs sampled)
Fastest is Hono
✨ Done in 28.68s.
Documentation
The documentation is available on hono.dev.
Migration
The migration guide is available on docs/MIGRATION.md.
Communication
Twitter and Discord channel are available.
Contributing
Contributions Welcome! You can contribute in the following ways.
- Create an Issue - Propose a new feature. Report a bug.
- Pull Request - Fix a bug and typo. Refactor the code.
- Create third-party middleware - Instruct below.
- Share - Share your thoughts on the Blog, Twitter, and others.
- Make your application - Please try to use Hono.
For more details, see docs/CONTRIBUTING.md.
Contributors
Thanks to all contributors!
Authors
Yusuke Wada https://github.com/yusukebe
RegExpRouter, SmartRouter, LinearRouter, and PatternRouter are created by Taku Amano https://github.com/usualoma
License
Distributed under the MIT License. See LICENSE for more information.