bunad
v0.1.0
Published
A TypeScript decorator-based library for building modular, scalable HTTP APIs with Bun.
Readme
Bun Decorator
A TypeScript decorator-based library for building modular, scalable HTTP APIs with Bun.js. It provides decorators for controllers, routes, modules, and middleware, enabling a clean and expressive way to define your server logic.
Features
- Decorators for controllers, routes (GET, POST, etc.), modules, and parameters
- Middleware support
- OpenAPI (Swagger) generation
- Type-safe request/response handling
- Modular architecture
Installation
bun add bunadUsage
1. Define a Controller
import { Controller, Get, Post, Body, Param } from "bunad";
@Controller("/users")
class UserController {
@Get("/")
getAllUsers() {
return [
/* ...users */
];
}
@Get("/:id")
getUser(@Param("id") id: string) {
return { id };
}
@Post("/")
createUser(@Body() user: any) {
return { id: "new", ...user };
}
}2. Register Controllers and Start Server
import { createApp, Module } from "bunad";
@Module({
controllers: [UserController],
})
class AppModule {}
createApp(AppModule).listen(3000);License
MIT
