A modern, lightweight, and type-safe framework for building server-side applications with Node.js and TypeScript.
Resty.js provides a robust set of decorators and tools to build scalable APIs quickly. It integrates seamlessly with Express.js while offering a superior developer experience with Dependency Injection, declarative routing, and built-in production best practices.
- Type-Safe: Built with TypeScript for TypeScript.
- Declarative Routing: Use decorators like
@Controller,@Get,@Postto define your API. - Dependency Injection: Built-in DI container powered by
typedi. - Developer Experience:
- 🚀 CLI:
resty devfor instant hot-reloading. - 🛠 VS Code Extension: Snippets for faster coding.
- 📦 Modular: Core is lightweight; optional packages for CLI, specific integrations.
- 🚀 CLI:
- Production Ready:
- Security headers (Helmet)
- CORS support
- Compression
- Graceful Shutdown
- Context-aware Request ID
npm install @restyjs/core reflect-metadata
npm install -D @restyjs/cli typescriptCreate a src/index.ts file:
import "reflect-metadata";
import { resty, Controller, Get } from "@restyjs/core";
@Controller("/hello")
class HelloController {
@Get("/")
index() {
return { message: "Hello World" };
}
}
const app = resty({
controllers: [HelloController],
});
app.listen(3000, () => {
console.log("Server started on http://localhost:3000");
});Run it with hot reload:
npx resty devVisit our Documentation Site (coming soon) or browse packages/docs.
Check out the examples directory:
MIT