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/Response API, 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 and inject() function, no global singletons
  • ESM-only — ES2024 target, nodenext module resolution

Packages

PackageDescription
@miiajs/coreDI, decorators, router, middleware, exceptions
@miiajs/configConfigModule, ConfigService, validated env
@miiajs/serve-staticStatic file serving with MIME detection
@miiajs/cliDev server, build, start, type checking, project scaffolding
@miiajs/node-serverNode.js HTTP server adapter
@miiajs/uws-serveruWebSockets.js HTTP server adapter
@miiajs/authStrategy-based auth, JWT, @Public decorator
@miiajs/drizzleDrizzle ORM integration (Postgres/MySQL/SQLite)
@miiajs/paprMongoDB integration via Papr
@miiajs/swaggerOpenAPI 3.1 spec generation, Swagger UI