Skip to content

Commit b66b674

Browse files
olaservoclaude
andcommitted
docs: revise v2 specs based on PR feedback
Address reviewer feedback from cliffhall, pcarleton, KKonstantinov, mattzcarey: v2_ux.md changes: - Add Server Settings Modal for per-server config (headers, metadata, timeouts, OAuth) - Add Clone button to Server Card Actions - Add OAuth Debugger section for debugging auth flows - Change Resources Screen from resizable panes to accordion pattern - Update Logging Screen to all 8 RFC 5424 levels with distinct colors - Clarify Browse button as local file picker - Expand JSON-RPC Tester to support all methods with custom headers - Add multi-select support for anyOf/oneOf enums in Form Generation v2_tech_stack.md changes: - Select Hono over Express based on community consensus - Add Hono Rationale section with comparison table 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 79b5e9f commit b66b674

File tree

2 files changed

+416
-80
lines changed

2 files changed

+416
-80
lines changed

specification/v2_tech_stack.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,34 @@ Let's choose a feature-rich component set with easy theming control
2929

3030
### Transport Operation
3131
Let's consider how to operate the server transports.
32-
* -[x] [Express](https://expressjs.com/)
32+
* -[x] [Hono](https://hono.dev/)
33+
* -[ ] [Express](https://expressjs.com/)
3334
* -[ ] Node:[http](https://nodejs.org/docs/v22.18.0/api/http.html)
3435

36+
#### Hono Rationale
37+
38+
Hono is selected based on community consensus (PR #945 discussion) for alignment with modern web standards and the TypeScript SDK v2 direction.
39+
40+
**Why Hono over Express:**
41+
42+
| Requirement | Hono | Express |
43+
|-------------|------|---------|
44+
| Bundle size | 12kb | ~1mb |
45+
| Web Standards (Request/Response) | Yes - Native | No - Shimmed |
46+
| TypeScript native | Yes | No - @types package |
47+
| Tree-shakable | Yes - Fully | No |
48+
| HTTP/2 support | Yes | No (SPDY dropped) |
49+
| Built-in middleware | Yes - Body parsing, auth, etc. | No - Requires plugins |
50+
| Edge/serverless deployment | Yes - Native | Partial - Requires adapters |
51+
52+
**Benefits:**
53+
54+
1. **Web Standards Alignment** - Uses native `Request`/`Response` objects, enabling deployment across Node, Deno, Bun, serverless, and edge environments
55+
2. **TypeScript Native** - Full type safety without external type packages, no monkey-patching of request objects
56+
3. **Future-proofing** - HTTP/2 support enables potential gRPC transport; aligns with TypeScript SDK v2 plans
57+
4. **Developer Experience** - Simpler API, type-safe context, smaller learning curve
58+
5. **Bundle Efficiency** - Dramatically smaller footprint benefits both development and deployment
59+
3560
### Logging
3661
Let's step up our logging capability with an advanced logger:
3762
* -[ ] [Winston](https://github.com/winstonjs/winston?tab=readme-ov-file#winston)

0 commit comments

Comments
 (0)