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, Koa's onion-model middleware, 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, Cloudflare Workers, AWS Lambda
  • Koa-style Middleware - clean onion model replaces interceptors, pipes, and filters
  • Flat DI - per-app container with inject() function, no global singletons
  • ESM-only - ES2025 target, nodenext module resolution

Packages

PackageDescription
@miiajs/coreDI, decorators, router, middleware, exceptions
@miiajs/configConfigModule, ConfigService, validated env
@miiajs/serve-staticStatic file serving with Range, ETag, charset, SPA fallback
@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 primitives, AuthGuard, token extractors
@miiajs/jwtInjectable JWT sign/verify service (jose wrapper)
@miiajs/drizzleDrizzle ORM integration (Postgres/MySQL/SQLite)
@miiajs/paprMongoDB integration via Papr
@miiajs/mongooseMongoDB integration via Mongoose
@miiajs/swaggerOpenAPI 3.1 spec generation, Swagger UI
@miiajs/messagingDecorator-driven event bus with retry, DLQ, pluggable transports
@miiajs/messaging-redisRedis Streams transport for @miiajs/messaging

What's next

See the roadmap for what's coming - hardening current packages, file upload, rate limiting, WebSocket support, OpenTelemetry, more transports, and beyond.