NestJS
Раздел про NestJS: модули и DI, контроллеры, валидация и pipes, guards, interceptors, exception filters, конфигурация, TypeORM, async и очереди, тесты, наблюдаемость. Примеры на TypeScript.
Зачем для 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 (обзор) — методология, которую реализует этот стек.