Generate Typescript definitions for type safe gRPC with a modern API
A fork of grpc_tools_node_protoc_ts
This package is under active development and feedback is appreciated
What is this?
This package generates Typescript definitions for the Javascript
protos produced by the (poorly documented) grpc-tools
npm package.
Why would I use this?
If you want to use protos and gRPC in Javascript code,
you could use the @grpc/proto-loader
package.
It parses the protos to Javacript at runtime. If you need flexibily, this may be the best option.
However, if you've gotten this far, you're probably looking for type safety, and for that we need to generate code.
grpc-tools
includes a binary (protoc
) and plugin to generate Node implementations of protos, and this package is a plugin for protoc
which generates Typescript definitions for those implementations.
How do I use this?
Follow the example app!
Promises
The Javascript protobuf implementations generated by grpc-tools
use a callback pattern. Unfortunately, this code doesn't fit in well with modern async
/await
code.
To get a Promise
API you may use the grpc-promise-ts
package. It's still under development, but currently can convert the gRPC client produced by grpc-tools
into a client with a Promise
API. The Typescript definitions produced by this package include the Promise Client (optionally they can be supressed).