Skip to content

Commit ebf7ba3

Browse files
author
Kapil Rastogi
authored
Merge pull request #30 from mgilbey/grpc-js
Use grpc-js in production dependencies instead of grpc
2 parents 8f0ca33 + c297aa1 commit ebf7ba3

File tree

6 files changed

+25
-22
lines changed

6 files changed

+25
-22
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,4 @@ dist/
6969
*.ipr
7070
*.iws
7171
ws2/
72+
.npmrc

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6
1+
12.16.3

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services:
66
- docker
77

88
node_js:
9-
- "6"
9+
- "12.16.3"
1010

1111
env:
1212
global:

Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ integration_tests:
3333
--network=sandbox_default \
3434
-v $(PWD):/ws \
3535
-w /ws \
36-
node:6-alpine \
37-
/bin/sh -c 'mkdir -p ws2 && cp -a src tests package.json tsconfig.json ws2/ && cd ws2 && npm i && ./node_modules/mocha/bin/mocha -r ./node_modules/ts-node/register tests/integration/**/*.ts'
36+
node:12.16.3-alpine \
37+
/bin/sh -c 'mkdir -p ws2 && apk --no-cache add python make g++ && cp -a src tests package.json tsconfig.json ws2/ && cd ws2 && npm i && ./node_modules/mocha/bin/mocha -r ./node_modules/ts-node/register --exit tests/integration/**/*.ts'
3838
docker-compose -f integration-tests/docker-compose.yml -p sandbox stop
3939

4040
.PHONY: compile
@@ -52,8 +52,8 @@ idl_codegen:
5252
mkdir src/proto_idl_codegen
5353
git submodule init -- ./haystack-idl
5454
git submodule update
55-
./node_modules/grpc-tools/bin/protoc -I haystack-idl/proto --plugin=protoc-gen-grpc=./node_modules/grpc-tools/bin/grpc_node_plugin --js_out=import_style=commonjs,binary:./src/proto_idl_codegen --grpc_out=./src/proto_idl_codegen haystack-idl/proto/span.proto
56-
./node_modules/grpc-tools/bin/protoc -I haystack-idl/proto --plugin=protoc-gen-grpc=./node_modules/grpc-tools/bin/grpc_node_plugin --js_out=import_style=commonjs,binary:./src/proto_idl_codegen --grpc_out=./src/proto_idl_codegen haystack-idl/proto/agent/spanAgent.proto
55+
./node_modules/grpc-tools/bin/protoc -I haystack-idl/proto --plugin=protoc-gen-grpc=./node_modules/grpc-tools/bin/grpc_node_plugin --js_out=import_style=commonjs,binary:./src/proto_idl_codegen --grpc_out=generate_package_definition:./src/proto_idl_codegen haystack-idl/proto/span.proto
56+
./node_modules/grpc-tools/bin/protoc -I haystack-idl/proto --plugin=protoc-gen-grpc=./node_modules/grpc-tools/bin/grpc_node_plugin --js_out=import_style=commonjs,binary:./src/proto_idl_codegen --grpc_out=generate_package_definition:./src/proto_idl_codegen haystack-idl/proto/agent/spanAgent.proto
5757

5858
.PHONY: npm_install
5959
npm_install:
@@ -63,4 +63,4 @@ example: build
6363
mkdir -p logs
6464
rm -rf logs/spans
6565
node examples/index.js
66-
cat logs/spans
66+
cat logs/spans

package.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "0.1.2",
44
"description": "Haystack OpenTracing compliant client",
55
"engines": {
6-
"node": ">=0.10"
6+
"node": ">=10.10.0"
77
},
88
"license": "Apache-2.0",
99
"keywords": [],
@@ -17,26 +17,26 @@
1717
"Haystack <haystack@expedia.com>"
1818
],
1919
"dependencies": {
20+
"@grpc/grpc-js": "^1.0.3",
2021
"google-protobuf": "^3.0.0",
21-
"grpc": "^1.9.0",
2222
"opentracing": "^0.14.0",
23-
"uuid": "^3.2.1",
24-
"request": "^2.88.0"
23+
"request": "^2.88.0",
24+
"uuid": "^3.2.1"
2525
},
2626
"devDependencies": {
27-
"@types/node": "7.0.12",
2827
"@types/chai": "3.4.35",
29-
"@types/mocha": "2.2.40",
3028
"@types/kafka-node": "2.0.7",
29+
"@types/mocha": "^7.0.2",
30+
"@types/node": "^12.12.42",
3131
"@types/request": "2.48.0",
32-
"kafka-node": "2.6.1",
3332
"chai": "^3.5.0",
34-
"grpc-tools": "1.6.6",
35-
"mocha": "^2.5.3",
33+
"grpc-tools": "^1.9.0",
34+
"kafka-node": "2.6.1",
35+
"mocha": "^7.1.2",
36+
"npm-registry-package-info": "1.0.5",
37+
"semver": "^5.5.0",
3638
"ts-node": "^7.0.0",
3739
"tslint": "^5.0.0",
38-
"typescript": "2.9.2",
39-
"npm-registry-package-info": "1.0.5",
40-
"semver": "^5.5.0"
40+
"typescript": "^3.9.3"
4141
}
4242
}

src/dispatchers/grpc_agent.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,22 @@
1414
* limitations under the License.
1515
*/
1616

17-
import * as grpc from 'grpc';
18-
const services = require('../proto_idl_codegen/agent/spanAgent_grpc_pb');
17+
import * as grpc from '@grpc/grpc-js';
18+
import * as spanAgentPackageDefinition from '../proto_idl_codegen/agent/spanAgent_grpc_pb';
1919
import {Dispatcher} from './dispatcher';
2020
import Span from '../span';
2121
import { Logger, NullLogger } from '../logger';
2222
import Utils from '../utils';
23+
import {ServiceClientConstructor} from '@grpc/grpc-js/build/src/make-client';
2324

2425
export default class RemoteDispatcher implements Dispatcher {
2526
_client: any;
2627
_logger: any;
2728

2829
constructor(agentHost: string = 'haystack-agent', agentPort: number = 35000, logger: Logger = new NullLogger()) {
2930
logger.info(`Initializing the remote grpc agent dispatcher, connecting at ${agentHost}:${agentPort}`);
30-
this._client = new services.SpanAgentClient(`${agentHost}:${agentPort}`, grpc.credentials.createInsecure());
31+
const protoDescriptor = grpc.loadPackageDefinition(spanAgentPackageDefinition) as {[index: string]: ServiceClientConstructor};
32+
this._client = new protoDescriptor.SpanAgent(`${agentHost}:${agentPort}`, grpc.credentials.createInsecure());
3133
this._logger = logger;
3234
}
3335

0 commit comments

Comments
 (0)