Introduction
MiiaJS is a lightweight, decorator-driven HTTP framework for TypeScript.
MiiaJS is a lightweight HTTP framework for TypeScript, inspired by Angular/NestJS architectural ideas and Hono's multi-runtime philosophy. Built from scratch on modern standards.
Why MiiaJS?
- TC39 Native Decorators — no
reflect-metadata, no experimental TypeScript flags - Web Standards — built on the
Request/ResponseAPI, no proprietary abstractions - Multi-Runtime — runs on Bun, Deno, Node.js, uWebSockets.js, Cloudflare Workers, AWS Lambda, Bunny Edge
- Koa-style Middleware — clean onion model replaces interceptors, pipes, and filters
- Flat DI — per-app container with
@Inject()decorator andinject()function, no global singletons - ESM-only — ES2024 target,
nodenextmodule resolution
Packages
| Package | Description |
|---|---|
@miiajs/core | DI, decorators, router, middleware, exceptions |
@miiajs/config | ConfigModule, ConfigService, validated env |
@miiajs/serve-static | Static file serving with MIME detection |
@miiajs/cli | Dev server, build, start, type checking, project scaffolding |
@miiajs/node-server | Node.js HTTP server adapter |
@miiajs/uws-server | uWebSockets.js HTTP server adapter |
@miiajs/auth | Strategy-based auth, JWT, @Public decorator |
@miiajs/drizzle | Drizzle ORM integration (Postgres/MySQL/SQLite) |
@miiajs/papr | MongoDB integration via Papr |
@miiajs/swagger | OpenAPI 3.1 spec generation, Swagger UI |