Skip to content
Snippets Groups Projects
Commit 20e5d9eb authored by murgatroid99's avatar murgatroid99
Browse files

Update Node plugin to handle well known type changes

parent 245e9970
No related branches found
No related tags found
No related merge requests found
...@@ -74,8 +74,16 @@ grpc::string GetJSMessageFilename(const grpc::string& filename) { ...@@ -74,8 +74,16 @@ grpc::string GetJSMessageFilename(const grpc::string& filename) {
// Given a filename like foo/bar/baz.proto, returns the root directory // Given a filename like foo/bar/baz.proto, returns the root directory
// path ../../ // path ../../
grpc::string GetRootPath(const grpc::string& filename) { grpc::string GetRootPath(const grpc::string& from_filename,
size_t slashes = std::count(filename.begin(), filename.end(), '/'); const grpc::string& to_filename) {
if (to_filename.find("google/protobuf") == 0) {
// Well-known types (.proto files in the google/protobuf directory) are
// assumed to come from the 'google-protobuf' npm package. We may want to
// generalize this exception later by letting others put generated code in
// their own npm packages.
return "google-protobuf/";
}
size_t slashes = std::count(from_filename.begin(), from_filename.end(), '/');
if (slashes == 0) { if (slashes == 0) {
return "./"; return "./";
} }
...@@ -90,7 +98,7 @@ grpc::string GetRootPath(const grpc::string& filename) { ...@@ -90,7 +98,7 @@ grpc::string GetRootPath(const grpc::string& filename) {
// from_file, assuming that both paths are relative to the same directory // from_file, assuming that both paths are relative to the same directory
grpc::string GetRelativePath(const grpc::string& from_file, grpc::string GetRelativePath(const grpc::string& from_file,
const grpc::string& to_file) { const grpc::string& to_file) {
return GetRootPath(from_file) + to_file; return GetRootPath(from_file, to_file) + to_file;
} }
/* Finds all message types used in all services in the file, and returns them /* Finds all message types used in all services in the file, and returns them
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment