Public import is not included in generated CommonJS file
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript
- Lĩnh vực
- tooling
Hướng nghiên cứu
Tái hiện trường hợp bằng lệnh protoc được cung cấp, sau đó kiểm tra build/project_pb.js và các import được tạo cho id_pb và task_pb. Sử dụng test.js để xác minh hành vi; hoàn tất khi import công khai bắc cầu có sẵn cho project_pb.js và script in ra “Everything is fine” mà không yêu cầu import tường minh trong project.proto.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
System
Version: v3.6.1
Language: Javascript
macOS 10.14
Steps to reproduce
- Create a
srcdirectory with 3 files:// id.proto syntax = "proto3"; message Id { string value = 1; }// task.proto adding a transitive import for `Id` syntax = "proto3"; import public "id.proto"; message Task { Id id = 1; }// project.proto importing both `Id` and `Task` from Project syntax = "proto3"; import "task.proto"; message Project { Id id = 1; repeated Task task = 2; } - Compile to js using
mkdir build protoc --proto_path=src --js_out=import_style=commonjs,binary:build id.proto task.proto project.proto npm install google-protobufunder the root directory.node test.js// test.js var id_pb = require('./build/id_pb'); var project_pb = require('./build/project_pb'); var id = new id_pb.Id(); id.setValue("Everything is fine"); var project = new project_pb.Project() project.setId(id); process.stdout.write(project.getId().getValue()); process.stdout.write("\n");
Expected behaviour
Everything is fine is printed to the console.
Actual behaviour
.../test-proto/build/project_pb.js:173
jspb.Message.getWrapperField(this, id_pb.Id, 1));
^
ReferenceError: id_pb is not defined
at proto.Project.getId (.../test-proto/build/project_pb.js:173:40)
at Object.<anonymous> (.../test-proto/test.js:10:30)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
id_pb import is missing from project_pb. Alternatively it may be referenced from task_pb, since it’s declared public in task.proto.
The error does not show up if id.proto is explicitly imported in project.proto.
- Ngôn ngữ chính
- JavaScript
- Star
- 471
- Fork
- 91
- Merge trung bình
- 1 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 6
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của protocolbuffers/protobuf-javascript
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
protocolbuffers/protobuf-javascript#248 · 1 bình luận · 13 reaction ·
-
question
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
protocolbuffers/protobuf-javascript#222 · 9 bình luận ·
-
Why map.js sort keys?Đang mởenhancement port-fix triaged
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
protocolbuffers/protobuf-javascript#185 · 1 bình luận ·
-
enhancement port-fix triaged
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
protocolbuffers/protobuf-javascript#182 · 3 bình luận · 1 reaction ·
Tất cả issue của protocolbuffers/protobuf-javascript
Issue tương tự
-
accepting PR Content:HTML
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
mdn/content#45988 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
pnpm/pnpm#16635 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
paperclipai/paperclip#15253 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
solana-foundation/solana-com#2245 ·
Maintainer thường phản hồi trong vòng 1 ngày