A fork of grpc_tools_node_protoc_ts
This package is under active development and feedback is appreciated
This package generates Typescript definitions for the Javascript
protos produced by the (poorly documented) grpc-tools
npm package.
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.
Follow the example app!
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).