aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/js/js_generator.cc
diff options
context:
space:
mode:
authorGravatar Josh Haberman <jhaberman@gmail.com>2016-06-16 11:59:08 -0700
committerGravatar Josh Haberman <jhaberman@gmail.com>2016-06-16 11:59:08 -0700
commit1337486755518e8df4388463ab71fdc955e5a680 (patch)
treeafa18284f1716607435e014fb40fe680a8d830d9 /src/google/protobuf/compiler/js/js_generator.cc
parentf180ef63985fb410dceda1e299020ee4ebd696e0 (diff)
JS: import well-known types from google-protobuf package.
Diffstat (limited to 'src/google/protobuf/compiler/js/js_generator.cc')
-rwxr-xr-xsrc/google/protobuf/compiler/js/js_generator.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/google/protobuf/compiler/js/js_generator.cc b/src/google/protobuf/compiler/js/js_generator.cc
index a72cf6a3..b39b0e8c 100755
--- a/src/google/protobuf/compiler/js/js_generator.cc
+++ b/src/google/protobuf/compiler/js/js_generator.cc
@@ -160,6 +160,14 @@ string GetJSFilename(const string& filename) {
// Given a filename like foo/bar/baz.proto, returns the root directory
// path ../../
string GetRootPath(const string& filename) {
+ if (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(filename.begin(), filename.end(), '/');
if (slashes == 0) {
return "./";