Public import is not included in generated CommonJS file
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- tooling
Línea de trabajo
Reproduce el caso con el comando protoc proporcionado y, después, inspecciona build/project_pb.js y los imports generados para id_pb y task_pb. Usa test.js para verificar el comportamiento; está terminado cuando el import público transitivo está disponible para project_pb.js y el script imprime “Everything is fine” sin requerir un import explícito en project.proto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- JavaScript
- Estrellas
- 471
- Forks
- 91
- Merge medio
- 1 d 12 h
- PR fusionados (30 d)
- 6
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de protocolbuffers/protobuf-javascript
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
protocolbuffers/protobuf-javascript#248 · 1 comentario · 13 reacciones ·
-
question
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
protocolbuffers/protobuf-javascript#222 · 9 comentarios ·
-
Why map.js sort keys?Abiertoenhancement port-fix triaged
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
protocolbuffers/protobuf-javascript#185 · 1 comentario ·
-
enhancement port-fix triaged
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
protocolbuffers/protobuf-javascript#182 · 3 comentarios · 1 reacción ·
Todos los issues de protocolbuffers/protobuf-javascript
Issues similares
-
needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
solana-foundation/solana-com#2245 ·
Los mantenedores suelen responder en 1 día
-
tech debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
TAMULib/fw-registry#543 ·
Los mantenedores suelen responder en 1 día
-
security
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
No LICENSE file shipped with the v4.7.0 release (OFL-1.1 / MIT split undocumented in-repo)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
FortAwesome/Font-Awesome#21688 ·