NestJS
NestJS для backend на Node: модули и DI, контроллеры, валидация, guards и interceptors, фильтры ошибок, конфигурация, TypeORM, очереди, тесты и наблюдаемость.
Зачем для UCP. NestJS — механика Node-биндинга UCP-сервиса, как Spring для Java: без понимания модулей, DI, конвейера запроса (pipes, guards, interceptors, filters), данных и безопасности нельзя осознанно писать Handler-ы и интегрировать инфраструктуру на Node. Часть пути продукт-инженера.
Раздел разбит на 11 статей. Можно читать подряд (фундамент → конвейер запроса → конфигурация и данные → async и эксплуатация) или точечно.
Фундамент
- Модули и Dependency Injection — модули как границы, провайдеры, DI-контейнер, scopes.
- Контроллеры и роутинг — декораторы маршрутов, параметры, DTO, тонкий контроллер.
Конвейер запроса
- Валидация и pipes —
ValidationPipe, class-validator, граница формата. - Guards: аутентификация и авторизация — guards, Passport, JWT, роли.
- Interceptors: сквозная логика — логирование, трансформация ответа, тайминги.
- Exception filters: обработка ошибок —
HttpException, единый формат ошибок.
Конфигурация и данные
- Конфигурация и жизненный цикл —
ConfigModule, lifecycle-хуки, bootstrap. - Персистентность: TypeORM —
DataSource, репозитории, транзакции, миграции.
Async и эксплуатация
- Async, расписание, очереди —
@nestjs/schedule, BullMQ, фон vs запрос. - Тестирование — Jest,
Test.createTestingModule, override, e2e через supertest. - Наблюдаемость —
Logger, health, OpenTelemetry, метрики.
Связанное
- Продукт-инженер — карта специализаций и путь.
- Use Case Pattern (обзор) — методология, которую реализует этот стек.