gRPC for Node.js
Go to file
cjihrig 6a19cf5205
grpc-js-core: use Map for metadata store
In more recent versions of Node, Maps are more performant than
POJOs when used as maps. Switching to Maps also eliminates an
expensive delete operation, as well as uses of hasOwnProperty().
2018-10-24 14:13:18 -04:00
.github Create lock.yml 2018-09-28 13:51:13 -07:00
packages grpc-js-core: use Map for metadata store 2018-10-24 14:13:18 -04:00
test Add some tests for error cases for both clients 2018-08-30 11:07:14 -07:00
tools/release Merge branch 'v1.12.x' of https://github.com/grpc/grpc-node into 1.12.2-upmerge 2018-05-25 01:26:52 +02:00
.editorconfig Adding few stray files. 2017-09-13 02:06:15 +02:00
.gitignore Add gitignore'd files 2018-09-26 09:44:34 -07:00
.gitmodules Add protobuf submodule for grpc-tools 2018-09-20 10:32:27 -07:00
.istanbul.yml Adding few stray files. 2017-09-13 02:06:15 +02:00
.travis.yml Adding also 4 and 5 on Travis. 2017-09-16 02:31:07 +02:00
AUTHORS Adding AUTHORS file. 2017-08-02 15:11:07 -07:00
CODE-OF-CONDUCT.md Adding few stray files. 2017-09-13 02:06:15 +02:00
LICENSE Create LICENSE 2017-08-02 15:10:19 -07:00
PACKAGE-COMPARISON.md Pure JS: Implement public Channel API 2018-08-22 18:06:01 -07:00
README.md Pure JS: Implement public Channel API 2018-08-22 18:06:01 -07:00
gulpfile.ts Revert "Revert "Add coverage reporting for JavaScript and TypeScript files"" 2018-05-16 14:03:23 -07:00
merge_kokoro_logs.js Add license notice to several script files 2017-09-22 10:50:58 -07:00
package.json Revert "Revert "Add coverage reporting for JavaScript and TypeScript files"" 2018-05-16 14:03:23 -07:00
run-tests.bat Increase npm retries when downloading packages 2018-06-07 14:55:55 -07:00
run-tests.sh Increase npm retries when downloading packages 2018-06-07 14:55:55 -07:00
setup.sh Add license notice to several script files 2017-09-22 10:50:58 -07:00
test-grpc-submodule.sh Make test-grpc-submodule.sh cd to root directory 2017-09-19 16:13:37 -07:00
tsconfig.json simplify gulp commands in package directories 2017-12-14 16:41:24 -08:00
util.js correction for tests 2017-10-25 14:18:16 -07:00

README.md

Build Status

gRPC on Node.js

Implementations

For a comparison of the features available in these two libraries, see this document

C-based Client and Server

Directory: packages/grpc-native-core (see here for installation information)

npm package: grpc.

This is the existing, feature-rich implementation of gRPC using a C++ addon. It works on all LTS versions of Node.js on most platforms that Node.js runs on.

Pure JavaScript Client

Directory: packages/grpc-js-core

npm package: @grpc/grpc-js

This library is currently incomplete and experimental, built on the experimental http2 Node module.

This library implements the core functionality of gRPC purely in JavaScript, without a C++ addon. It works on the latest version of Node.js on all platforms that Node.js runs on.

Other Packages

gRPC Protobuf Loader

Directory: packages/grpc-protobufjs

npm package: @grpc/proto-loader

This library loads .proto files into objects that can be passed to the gRPC libraries.

gRPC Tools

Directory: packages/grpc-tools

npm package: grpc-tools

Distribution of protoc and the gRPC Node protoc plugin for ease of installation with npm.

gRPC Health Check Service

Directory: packages/grpc-health-check

npm package: grpc-health-check

Health check service for gRPC servers.