From de0520f2d635fedba0ff9602dd82a4dd29a9b635 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 30 Nov 2025 06:29:41 +0900 Subject: feat(server): initialize Hono app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Setup basic Hono server with health check endpoint. Adds dev, build, and start scripts using Node.js native TypeScript execution. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- biome.json | 3 ++- docs/dev/roadmap.md | 2 +- pkgs/server/package.json | 14 ++++++++++++-- pkgs/server/src/index.ts | 23 ++++++++++++++++++++++- pnpm-lock.yaml | 41 ++++++++++++++++++++++++++++++++++++++++- 5 files changed, 77 insertions(+), 6 deletions(-) diff --git a/biome.json b/biome.json index ba74412..690def9 100644 --- a/biome.json +++ b/biome.json @@ -6,7 +6,8 @@ "useIgnoreFile": true }, "files": { - "ignoreUnknown": false + "ignoreUnknown": false, + "includes": ["**", "!.claude"] }, "formatter": { "enabled": true, diff --git a/docs/dev/roadmap.md b/docs/dev/roadmap.md index 7916835..26e92b8 100644 --- a/docs/dev/roadmap.md +++ b/docs/dev/roadmap.md @@ -10,7 +10,7 @@ - [x] Configure Biome ### Server Foundation -- [ ] Initialize Hono app +- [x] Initialize Hono app - [ ] Setup Vitest - [ ] Add simple test to test that Hono works - [ ] Error handling middleware diff --git a/pkgs/server/package.json b/pkgs/server/package.json index 3d179d6..90f8f41 100644 --- a/pkgs/server/package.json +++ b/pkgs/server/package.json @@ -2,12 +2,22 @@ "name": "@kioku/server", "version": "0.1.0", "private": true, - "main": "index.js", + "main": "dist/index.js", "scripts": { + "dev": "node --watch src/index.ts", + "build": "tsc", + "start": "node dist/index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "nsfisis", "license": "MIT", "packageManager": "pnpm@10.23.0", - "type": "module" + "type": "module", + "dependencies": { + "@hono/node-server": "^1.19.6", + "hono": "^4.10.7" + }, + "devDependencies": { + "@types/node": "^24.10.1" + } } diff --git a/pkgs/server/src/index.ts b/pkgs/server/src/index.ts index cb0ff5c..6c89217 100644 --- a/pkgs/server/src/index.ts +++ b/pkgs/server/src/index.ts @@ -1 +1,22 @@ -export {}; +import { serve } from "@hono/node-server"; +import { Hono } from "hono"; + +const app = new Hono(); + +app.get("/", (c) => { + return c.json({ message: "Kioku API" }); +}); + +app.get("/api/health", (c) => { + return c.json({ status: "ok" }); +}); + +const port = Number(process.env.PORT) || 3000; +console.log(`Server is running on port ${port}`); + +serve({ + fetch: app.fetch, + port, +}); + +export { app }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9fa931c..3d62033 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,7 +17,18 @@ importers: pkgs/client: {} - pkgs/server: {} + pkgs/server: + dependencies: + '@hono/node-server': + specifier: ^1.19.6 + version: 1.19.6(hono@4.10.7) + hono: + specifier: ^4.10.7 + version: 4.10.7 + devDependencies: + '@types/node': + specifier: ^24.10.1 + version: 24.10.1 pkgs/shared: {} @@ -76,11 +87,27 @@ packages: cpu: [x64] os: [win32] + '@hono/node-server@1.19.6': + resolution: {integrity: sha512-Shz/KjlIeAhfiuE93NDKVdZ7HdBVLQAfdbaXEaoAVO3ic9ibRSLGIQGkcBbFyuLr+7/1D5ZCINM8B+6IvXeMtw==} + engines: {node: '>=18.14.1'} + peerDependencies: + hono: ^4 + + '@types/node@24.10.1': + resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} + + hono@4.10.7: + resolution: {integrity: sha512-icXIITfw/07Q88nLSkB9aiUrd8rYzSweK681Kjo/TSggaGbOX4RRyxxm71v+3PC8C/j+4rlxGeoTRxQDkaJkUw==} + engines: {node: '>=16.9.0'} + typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + snapshots: '@biomejs/biome@2.3.8': @@ -118,4 +145,16 @@ snapshots: '@biomejs/cli-win32-x64@2.3.8': optional: true + '@hono/node-server@1.19.6(hono@4.10.7)': + dependencies: + hono: 4.10.7 + + '@types/node@24.10.1': + dependencies: + undici-types: 7.16.0 + + hono@4.10.7: {} + typescript@5.9.3: {} + + undici-types@7.16.0: {} -- cgit v1.2.3-70-g09d2