Type safety

Articles on end-to-end type safety between TypeScript microservices: generated clients, sharing types without a shared package, and versioning safely.

5 articles

Aug 3, 2026 · Mykhailo Stadnyk

How Node.js services talk to each other in 2026: the honest options

REST, gRPC, tRPC, NATS, a framework like NestJS or Moleculer, or RPC over a message queue. Six real approaches, what each one costs, and the two questions that actually decide it — including when @imqueue is the wrong answer.

read →
Jul 19, 2026 · Serhiy Morenko

Type-safe service-to-service communication in TypeScript

End-to-end types across service boundaries are easy inside one process and hard the moment you cross a network. Here's how to keep them without hand-writing clients or maintaining a schema language.

read →
Jul 17, 2026 · Serhiy Morenko

Stop hand-writing and maintaining your microservice clients

Every service you call needs a client, and hand-maintained clients drift out of sync with the services they talk to. Here's why that happens, how to make the client fall out of the service, and what the generated approach costs.

read →
Jul 2, 2026 · Serhiy Morenko

Versioning microservices without breaking every caller

A change to one service's method quietly breaks the services that call it — and you find out in production. Here's how to make breaking changes loud at build time, which changes are actually safe, and how to handle the window where both versions are live.

read →
Jun 14, 2026 · Andrii Glushko

tRPC vs @imqueue: client–server types vs service–service RPC

tRPC gives you end-to-end types between a frontend and its backend. @imqueue gives you typed RPC between backend services over a queue. They solve adjacent — not competing — problems.

read →