0
0
mirror of https://github.com/honojs/hono.git synced 2024-11-24 02:07:30 +01:00
Web Framework built on Web Standards https://hono.dev/
Go to file
EdamAmex 3059741b6e
perf(router): sort handlers by score only when necessary (#3697)
* perf(router): sort handlers by score only when necessary

* add tests

* Update node.test.ts
2024-11-23 19:23:52 +09:00
.devcontainer fix(devcontainer): remove unknown flag on docker-compose (#3582) 2024-10-29 15:17:08 +09:00
.github ci: Display performance measurement results as custom metrics (#3491) 2024-11-19 13:38:21 +09:00
.vitest.config chore: moving the setup file of vitest (#3157) 2024-07-20 00:02:35 +09:00
.vscode refactor: body parser (#2045) 2024-01-21 06:17:48 +09:00
benchmarks chore(benchmark): add qs for query-param (#3674) 2024-11-15 05:05:09 +09:00
build chore: lint build and perf-measures (#3686) 2024-11-19 08:49:21 +09:00
docs docs: Twitter to X (#3354) 2024-09-01 17:53:56 +09:00
perf-measures ci(perf-measures): support KB (#3696) 2024-11-23 19:02:04 +09:00
runtime-tests fix(serveStatic): add guard to prevent reading empty folders (#3639) 2024-11-08 10:06:53 +09:00
src perf(router): sort handlers by score only when necessary (#3697) 2024-11-23 19:23:52 +09:00
.gitignore chore: use Bun as a package manager (#2105) 2024-01-29 23:27:54 +09:00
.gitpod.yml chore: create .gitpod.yml (#2868) 2024-06-04 17:17:07 +09:00
.prettierrc chore(prettier): remove markdown-nocjsp parser 2022-07-16 10:03:01 +09:00
bun.lockb chore: bump devDependencies (#3633) 2024-11-06 15:45:30 +09:00
bunfig.toml chore(ci): enable lcov reporter for Bun test (#3022) 2024-06-24 05:39:29 +09:00
codecov.yml ci: Report coverage with CodeCov (#2862) 2024-06-01 04:17:47 +09:00
eslint.config.mjs chore(lint): ESLint v9 (#3393) 2024-09-12 12:05:41 +09:00
jsr.json chore(build): validate if exporting is correct in package.json and jsr.json (#3638) 2024-11-07 17:37:53 +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 v4.6.11 2024-11-20 08:49:42 +09:00
README.md docs: changed as even smaller (#3664) 2024-11-14 04:17:30 +09:00
tsconfig.build.json chore(vitest/tsconfig): bump vitest and update tsconfig.build.json (#1851) 2023-12-25 11:46:37 +09:00
tsconfig.json feat(http-exception): Add a "cause" option to HTTPException (#2224) 2024-02-25 19:07:33 +09:00
vitest.config.ts chore(build): validate if exporting is correct in package.json and jsr.json (#3638) 2024-11-07 17:37:53 +09:00
yarn.lock chore: bump devDependencies (#3633) 2024-11-06 15:45:30 +09:00


Documentation 👉 hono.dev
Now supports JSR and deno.land/x is deprecated! See Migration guide.


GitHub Workflow Status GitHub npm npm JSR Bundle Size Bundle Size GitHub commit activity GitHub last commit codecov Discord badge

Hono - means flame🔥 in Japanese - is a small, simple, and ultrafast web framework built on Web Standards. 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 12kB. 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".

Documentation

The documentation is available on hono.dev.

Migration

The migration guide is available on docs/MIGRATION.md.

Communication

X 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, X, 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.