Open clehene opened 5 years ago
I think this is related to protocolbuffers/protobuf-javascript#65. I would love to see this feature implemented one way or another as it would make protobuf
much easier to use.
I think we need an import option js_package
(like go_package
for go) could use the npm package to override the relative path.
For example:
// in google/api/annotations.proto
option js_package = "google/api/annotations_pb";
// in example.proto
import "google/api/annotations.proto";
That will generate something like:
import * as google_api_annotations_pb from 'google/api/annotations_pb';
I think we need an import option
js_package
(likego_package
for go) could use the npm package to override the relative path.For example:
// in google/api/annotations.proto option js_package = "google/api/annotations_pb";
// in example.proto import "google/api/annotations.proto";
That will generate something like:
import * as google_api_annotations_pb from 'google/api/annotations_pb';
This would be awesome!
While we don't have this sorted, I am handling this issue with a simple bash function https://github.com/apssouza22/modern-api-management/blob/master/bin/js-gen.sh#L105
This is something we should think about supporting.
Sister issue of https://github.com/grpc/grpc-web/issues/584 (copying content)
All generated code currently generates js import paths with similar structure with that of the imported
.proto
files. The one exception for protobuf well-known types -google-protobuf
based ont he import prefix: https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/compiler/js/js_generator.cc#L128Equivalent code in grpc-web: https://github.com/grpc/grpc-web/blob/master/javascript/net/grpc/web/grpc_generator.cc#L461
This will generate something like
An import option would allow users to explicitly override the relative path and specify a npm package at
.proto
import could be the right approach to generalize this.