In-process gRPC-Web translator for Node.js, eliminating the need for a separate Envoy proxy. Version 1.1.0 supports unary and server streaming with metadata/trailers and deadlines. It provides both a standalone gRPC-Web server and a generic endpoint for mounting on existing Node HTTP servers (Express, Next.js, etc.), similar to improbable-eng/grpc-web Go wrapper or tonic-web Rust crate. Major differentiator: no proxy required; direct in-process translation. Currently does not support client streaming or bidi streaming due to gRPC-Web limitations. Fully typed with TypeScript definitions.
npm install node-grpc-web-wrapperNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Sets up a standalone gRPC-Web server using the default export GrpcWebServer, with CORS enabled.
Use named export { grpcWebHandler } for middleware, or use GrpcWebServer for standalone server.Always create a new grpc.Server() and add services to it before passing to GrpcWebServer.
Use a modern browser or a gRPC-Web client library like @improbable-eng/grpc-web.
Use text mode (JSON) for server streaming. Upgrade when binary support is added.
Use const { grpcWebHandler } = require('node-grpc-web-wrapper');Create a grpc.Server with new Server() and call addService on it.
Ensure your gRPC methods are unary or server streaming only.