0
0
mirror of https://github.com/honojs/hono.git synced 2024-11-30 01:56:18 +01:00
Web Framework built on Web Standards https://hono.dev/
Go to file
2023-02-09 19:55:57 +09:00
.github ci: run ci on next branch 2023-01-19 22:45:25 +09:00
.vscode feat(validator): add support for JSON array path validation (#563) 2022-09-30 21:56:39 +09:00
benchmarks chore: benchmark of routers (#843) 2023-01-29 14:10:47 +09:00
deno_dist merge main into next 2023-02-09 19:49:27 +09:00
docs docs(migration): write about validator middleware (#759) 2022-12-30 09:45:52 +09:00
src merge main into next 2023-02-09 19:49:27 +09:00
test_bun feat: [BREAKING] introduce adapters (#807) 2023-01-19 22:45:25 +09:00
test_deno ci: refine CI structures (#784) 2023-01-19 22:44:38 +09:00
test_fastly ci: refine CI structures (#784) 2023-01-19 22:44:38 +09:00
test_lagon feat: introduce HTTPException (#796) 2023-01-19 22:45:25 +09:00
test_node test: add tests and CI for Node.js (#785) 2023-01-19 22:45:23 +09:00
.eslintignore Setup lint to enable code styles check (#27) 2022-01-07 07:03:54 +09:00
.eslintrc.cjs refactor(validator): show type error if get/head with form/json (#772) 2023-01-19 22:44:38 +09:00
.gitignore chore(git): ignore bun.lockb 2022-07-29 08:21:23 +09:00
.prettierrc chore(prettier): remove markdown-nocjsp parser 2022-07-16 10:03:01 +09:00
build.ts fix(build): fix ESM support in Node.js / use esbuild (#631) 2022-10-28 08:46:02 +09:00
jest.config.js chore: remove unnecessary config testPathIgnorePatterns (#697) 2022-12-02 02:18:00 +09:00
jest.fastly.config.js ci: refine CI structures (#784) 2023-01-19 22:44:38 +09:00
jest.node.config.js test: add tests and CI for Node.js (#785) 2023-01-19 22:45:23 +09:00
LICENSE chore: update license, contributors as the copyright holders (#769) 2023-01-02 19:18:59 +09:00
package.cjs.json fix(typo): package.cjs.json target to type (#634) 2022-10-29 16:09:32 +09:00
package.json feat(router) [breaking]: StaticRouter obsolete (#873) 2023-02-09 16:58:28 +09:00
README.md docs(readme): fixed shields.io badage image url 2022-12-21 06:42:27 +09:00
tsconfig.build.json fix package.json & tsconfig.build.json (#747) 2022-12-27 22:59:23 +09:00
tsconfig.json remove unnecessary individual strict mode family options (#805) 2023-01-16 09:52:52 +09:00
yarn.lock feat: hc - Hono Client (#862) 2023-02-08 07:22:32 +09:00


Documentation 👉 honojs.dev
v2.x has been released! Migration guide


GitHub Workflow Status GitHub npm npm npm type definitions GitHub commit activity GitHub last commit Deno badge Discord badge

Hono - [炎] means flame🔥 in Japanese - is a small, simple, and ultrafast web framework for Cloudflare Workers, Deno, Bun, and others.

import { Hono } from 'hono'
const app = new Hono()

app.get('/', (c) => c.text('Hono!!'))

export default app

Features

  • Ultrafast - The routers are really smart. Not using linear loops. The fastest one will be selected from three routers.
  • Zero-dependencies - Using only Web Standard API. Does not depend on other npm or Deno libraries.
  • Middleware - Hono has built-in middleware, custom middleware, and third-party middleware. Batteries included.
  • TypeScript - First-class TypeScript support. Now, we've got "Types".
  • Multi-runtime - Works on Cloudflare Workers, Fastly Compute@Edge, Deno, Bun, or Node.js. The same code runs on all platforms.

Benchmarks

Hono is fastest, compared to other routers for Cloudflare Workers.

Hono x 616,464 ops/sec ±4.76% (83 runs sampled)
itty-router x 203,074 ops/sec ±3.66% (88 runs sampled)
sunder x 314,306 ops/sec ±2.28% (87 runs sampled)
worktop x 194,111 ops/sec ±2.78% (81 runs sampled)
Fastest is Hono
✨  Done in 30.77s.

Documentation

The documentation is available on honojs.dev.

Migration

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! Especially, @metrue and @usualoma!

Author

Yusuke Wada https://github.com/yusukebe

License

Distributed under the MIT License. See LICENSE for more information.