Модульный фреймворк для Elysia и Bun.
Декораторы · DI · Модули · Скорость Elysia.
@Controller, @Get, @Post, @Body и другие — декларативный API, работающий нативно на Elysia.
nestelia напрямую связывает каждый декорированный маршрут с обработчиком Elysia, обеспечивая вывод типов и валидацию схем.
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
}
}Constructor-based DI с singleton, transient и request scope-ами на базе reflect-metadata.
Пометьте класс @Injectable() и объявите его провайдером — nestelia автоматически разрешит весь граф зависимостей при старте.
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
}
}Инкапсулируйте controllers, providers и imports в целостные переиспользуемые модули с явной структурой.
Один вызов createElysiaApplication собирает весь граф зависимостей и возвращает готовый экземпляр Elysia.
import 'reflect-metadata'
import { createElysiaApplication } from 'nestelia'
import { AppModule } from './app.module'
const app = await createElysiaApplication(AppModule)
app.listen(3000)
// Listening on http://localhost:3000Удобство NestJS на скорости Elysia — минимальный overhead от декораторов и DI.
Опциональные пакеты — устанавливайте только нужное.
nestelia/scheduler@Cron, @Interval, @Timeout — планирование задач на базе node-cron.
nestelia/microservicesТранспорты TCP и Redis с @MessagePattern и @EventPattern.
nestelia/apolloCode-first GraphQL с @Resolver, @Query, @Mutation, @Subscription.
nestelia/passportAuthGuard и PassportStrategy — готовые стратегии аутентификации.
nestelia/cacheCacheModule с @CacheKey, @CacheTTL и подключаемыми хранилищами.
nestelia/rabbitmq@RabbitSubscribe и @RabbitRPC через AMQP с amqplib.
nestelia/testingTest.createTestingModule — изолированное тестирование с mock-провайдерами.
nestelia/graphql-pubsubRedis PubSub для real-time GraphQL subscriptions.