Skip to content

Instantly share code, notes, and snippets.

View yusukebe's full-sized avatar
😃
Let's go!

Yusuke Wada yusukebe

😃
Let's go!
View GitHub Profile

HTTP Performance Benchmark

Framework Runtime Average Ping Query Body
hono (origin/main) bun 104,875.26 116,640.28 102,978.19 95,007.30
hono (current) bun 110,763.86 125,842.75 108,353.32 98,095.50
Change +5.61% +7.89% +5.22% +3.25%

HTTP Performance Benchmark

Framework Runtime Average Ping Query Body
hono (origin/main) bun 104,492.64 116,785.42 102,250.60 94,441.90
hono (current) bun 112,547.56 125,900.85 108,076.85 103,664.99
Change +7.71% +7.81% +5.70% +9.77%
札幌で2人で2泊3日するプランを考えて!
@yusukebe
yusukebe / hono-hackathon-contributor-1.md
Last active February 16, 2026 03:03
Hono Hackathon Contributor編 #1

Hono Hackathon Contributor編 #1

  • テストをVitestに
  • ビルドをtsdownに
  • Hono CLI
  • HonoXパス周りのバグ
  • Vite Dev ServerのCloudflare環境をworkerdで動かすようにする
  • Hono CLIで指定をするとworkerdで動くようにする
  • CLIのtsgoのアップデート?
  • VSCode拡張のPR
import { Hono } from 'hono'
import { upgradeWebSocket, websocket } from 'hono/bun'
import { MyApiServer } from './my-api-server'
import { newHonoRpcResponse } from './capnweb-server-hono.ts'
const app = new Hono()
app.all('/api', (c) => {
return newHonoRpcResponse(c, new MyApiServer(), {
upgradeWebSocket
import { serve } from '@hono/node-server'
import { Hono } from 'hono'
const app = new Hono()
app.get('/reproduce-flush', async (c) => {
let transformController
let bufferedChunks = ['chunk1', 'chunk2']
const stream = new ReadableStream({
import { Plugin, normalizePath } from 'vite'
import path from 'node:path'
import picomatch from 'picomatch'
import type { ServerResponse } from 'node:http'
type ShouldInjectFunction = (req: ServerResponse['req'], res: ServerResponse) => boolean
type Options = {
/**
* default ['src\/\*\*\/\*.ts', 'src\/\*\*\/\*.tsx']
import { encodeBase64Url } from '../../utils/encode'
import { utf8Encoder } from '../../utils/jwt/utf8'
import { signing } from './jws'
import { verifyFromJwks } from './jwt'
describe('verifyFromJwks header.alg fallback', () => {
it('Should use header.alg as fallback when matchingKey.alg is missing', async () => {
// Setup: Create a JWT signed with HS384 (different from default HS256)
const payload = { message: 'hello world' }
const headerAlg = 'HS384' // Non-default value
app.use(
'/',
reactRenderer(({ children }) => {
return (
<html lang="en">
<head>
<meta charSet="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React TS</title>