gRPCity is a batteries-included gRPC framework for Node.js that wraps @grpc/grpc-js and @grpc/proto-loader behind an opinionated, promise-first API. Version 3.0.0, released 2023, requires Node >=18 and is actively maintained. Key differentiators vs raw @grpc/grpc-js: one loader reused across client/server, Koa-style middleware on both sides, sensible defaults for channel options and retry, built-in reflection, AbortSignal support, and runtime validation with zod. Written in TypeScript with complete type exports.
npm install grpcityNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows full setup: proto loading, server with one service, client creation, and a unary RPC call.
Switch project to ESM (type: module in package.json) and use import syntax.
Use import.meta.dirname or fileURLToPath(import.meta.url) for directory path.
Configure credentials with { credentials: grpc.credentials.createSsl() } for production.Ensure method name matches proto rpc name (e.g., 'SayGreet' not 'sayGreet').
npm install grpcity
Change project to ESM (type: module) and use import { ProtoLoader } from 'grpcity'Verify location and files in ProtoLoader options; use path.resolve for absolute paths.