NestJS

NestJS для backend на Node: модули и DI, контроллеры, валидация, guards и interceptors, фильтры ошибок, конфигурация, TypeORM, очереди, тесты и наблюдаемость.

Зачем для UCP. NestJS — механика Node-биндинга UCP-сервиса, как Spring для Java: без понимания модулей, DI, конвейера запроса (pipes, guards, interceptors, filters), данных и безопасности нельзя осознанно писать Handler-ы и интегрировать инфраструктуру на Node. Часть пути продукт-инженера.

Раздел разбит на 11 статей. Можно читать подряд (фундамент → конвейер запроса → конфигурация и данные → async и эксплуатация) или точечно.

Фундамент

  1. Модули и Dependency Injection — модули как границы, провайдеры, DI-контейнер, scopes.
  2. Контроллеры и роутинг — декораторы маршрутов, параметры, DTO, тонкий контроллер.

Конвейер запроса

  1. Валидация и pipes — ValidationPipe, class-validator, граница формата.
  2. Guards: аутентификация и авторизация — guards, Passport, JWT, роли.
  3. Interceptors: сквозная логика — логирование, трансформация ответа, тайминги.
  4. Exception filters: обработка ошибок — HttpException, единый формат ошибок.

Конфигурация и данные

  1. Конфигурация и жизненный цикл — ConfigModule, lifecycle-хуки, bootstrap.
  2. Персистентность: TypeORM — DataSource, репозитории, транзакции, миграции.

Async и эксплуатация

  1. Async, расписание, очереди — @nestjs/schedule, BullMQ, фон vs запрос.
  2. Тестирование — Jest, Test.createTestingModule, override, e2e через supertest.
  3. Наблюдаемость — Logger, health, OpenTelemetry, метрики.

Связанное