What are best practices for a reusable node client that uses gRPC to communicate with a server?

I’ve inherited a Node project that is supposed to be a reusable client library that uses gRPC to communicate with a server. This project is meant to be imported by other node applications. Disclaimer: I am relatively new to gRPC as well as server side JavaScript (Node), though well versed on the client side.

I’ve Googled a lot of an answer but the docs on using gRPC with Node seem sparse compared to other languages.

What would be the best way to deploy/package such a project, especially in regards to handling the .proto files? What would be the best way to keep the client’s .proto files in sync with the server’s?