Skip to content

[Dependencies] Upgrade Raijin and fix @atls/grpc-error-status dogfooding blockers #10

Description

@TorinAsakura

Какие зависимости обновляем?

  • Перевести репозиторий с legacy actl/runtime на актуальный Raijin quickstart
  • Обновить зависимости workspace и пакета @atls/grpc-error-status так, чтобы проходили install, check, unit tests, build и prepack
  • Починить публичный entrypoint @atls/grpc-error-status: импорт пакета не должен падать на generated proto exports в ESM/PnP окружении
  • Вынести публичный decoder для gRPC service error details из grpc-status-details-bin
  • Поддержать google.rpc Any type name и full type URL, включая type.googleapis.com/google.rpc.BadRequest
  • Поддержать generated constructors google-protobuf, у которых constructor.name пустой
  • Обновить ErrorStatus.fromServiceError так, чтобы он использовал общий decoder и возвращал полные validation details
  • Закрыть [Bug] @atls/grpc-error-status does not expose full validation error details #7 после того, как validation error снова содержит field и description
  • После релиза заменить локальный decoder в feat(nestjs-gateway): migrate express gateway to apollo server nestjs#417 на dogfooding @atls/grpc-error-status

Что блокирует обновление?

Факт из atls/nestjs#417:

  • импорт @atls/grpc-error-status@0.1.5 падает с SyntaxError: The requested module '../proto/google/rpc/code_pb.js' does not provide an export named 'Code'
  • прямой импорт dist/google.rpc.js небезопасен в Yarn PnP: google-protobuf не объявлен зависимостью atls/nestjs и считается ambiguous dependency
  • текущий ErrorStatus.fromServiceError берёт detail.getTypeName() и не покрывает full type URL fallback
  • generated detail constructors в установленном 0.1.5 имеют пустой constructor.name, поэтому поиск decoder по имени конструктора ненадёжен
  • из-за этого @atls/nestjs-gateway временно держит локальный decoder gRPC details вместо использования нашего пакета

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions