Framework modular para Elysia y Bun.
Decoradores · DI · Módulos · Velocidad de Elysia.
@Controller, @Get, @Post, @Body y más — una API de decoradores limpia y declarativa que corre nativamente en Elysia.
nestelia mapea cada ruta decorada directamente a un handler de Elysia, dando inferencia de tipos completa y validación de esquemas en la capa del framework.
import { Controller, Get, Post, Body } from 'nestelia'
import { CreateUserDto } from './dto'
@Controller('/users')
export class UsersController {
@Get()
findAll() {
return { users: [] }
}
@Post()
create(@Body() dto: CreateUserDto) {
return dto
}
}DI basado en constructor con alcances singleton, transient y request, impulsado por reflect-metadata.
Marca cualquier clase con @Injectable() y declárala como provider — nestelia resuelve el grafo de dependencias completo automáticamente al arrancar.
import { Injectable } from 'nestelia'
@Injectable()
export class UsersService {
private users: User[] = []
async findAll(): Promise<User[]> {
return this.users
}
async create(dto: CreateUserDto): Promise<User> {
this.users.push(dto)
return dto
}
}Encapsula controladores, proveedores e importaciones en módulos cohesivos y reutilizables con una estructura clara y explícita.
Una llamada a createElysiaApplication conecta todo el grafo de dependencias y devuelve una instancia Elysia lista para usar.
import 'reflect-metadata'
import { createElysiaApplication } from 'nestelia'
import { AppModule } from './app.module'
const app = await createElysiaApplication(AppModule)
app.listen(3000)
// Listening on http://localhost:3000DX estilo NestJS a la velocidad de Elysia — overhead casi nulo de decoradores y DI.
Paquetes opcionales — instala solo lo que necesitas.
nestelia/scheduler@Cron, @Interval, @Timeout — programación de tareas con node-cron.
nestelia/microservicesTransportes TCP y Redis con @MessagePattern y @EventPattern.
nestelia/apolloGraphQL code-first con @Resolver, @Query, @Mutation, @Subscription.
nestelia/passportAuthGuard y PassportStrategy — estrategias de autenticación listas para usar.
nestelia/cacheCacheModule con @CacheKey, @CacheTTL y stores de caché conectables.
nestelia/rabbitmq@RabbitSubscribe y @RabbitRPC sobre AMQP via amqplib.
nestelia/testingTest.createTestingModule — pruebas aisladas con proveedores mock.
nestelia/graphql-pubsubPubSub respaldado por Redis para subscripciones GraphQL en tiempo real.