Skip to content

Commit fbc5174

Browse files
authored
Merge pull request #1380 from badsyntax/grpc-tools--grpc-js
grpc-tools: add grpc_js param to grpc_out
2 parents 0219436 + f7deff3 commit fbc5174

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

packages/grpc-tools/src/node_generator.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,8 @@ void PrintService(const ServiceDescriptor* service, Printer* out,
212212
void PrintImports(const FileDescriptor* file, Printer* out,
213213
const Parameters& params) {
214214
if (!params.generate_package_definition) {
215-
out->Print("var grpc = require('grpc');\n");
215+
grpc::string package = params.grpc_js ? "@grpc/grpc-js" : "grpc";
216+
out->Print("var grpc = require('$package$');\n", "package", package);
216217
}
217218
if (file->message_type_count() > 0) {
218219
grpc::string file_path =

packages/grpc-tools/src/node_generator.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ namespace grpc_node_generator {
2626
struct Parameters {
2727
// Generate a package definition object instead of Client classes
2828
bool generate_package_definition;
29+
// Use pure JavaScript gRPC Client
30+
bool grpc_js;
2931
};
3032

3133
grpc::string GenerateFile(const grpc::protobuf::FileDescriptor* file,

packages/grpc-tools/src/node_plugin.cc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,16 @@ class NodeGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator {
3838
grpc::string* error) const {
3939
grpc_node_generator::Parameters generator_parameters;
4040
generator_parameters.generate_package_definition = false;
41+
generator_parameters.grpc_js = false;
4142
if (!parameter.empty()) {
42-
std::vector<grpc::string> parameters_list =
43-
grpc_generator::tokenize(parameter, ",");
44-
for (auto parameter_string = parameters_list.begin();
43+
std::vector<grpc::string> parameters_list =
44+
grpc_generator::tokenize(parameter, ",");
45+
for (auto parameter_string = parameters_list.begin();
4546
parameter_string != parameters_list.end(); parameter_string++) {
4647
if (*parameter_string == "generate_package_definition") {
4748
generator_parameters.generate_package_definition = true;
49+
} else if (*parameter_string == "grpc_js") {
50+
generator_parameters.grpc_js = true;
4851
}
4952
}
5053
}

0 commit comments

Comments
 (0)