Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

The generated commonjs `*_pb.js` files don't work in Node.js environment

Aberta
#8 9 comentários 7 reações 0 responsáveis Ver no GitHub

Um pull request relacionado já foi integrado.

  • #106 de @alias-rahil — integrado

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
javascript, node.js
Domínio
backend

Direção de pesquisa

Reproduza o problema com o comando protoc mostrado e o Node.js v16.13.0 e, em seguida, inspecione o código *_pb.js gerado ao redor da inicialização global na linha 16. Compare o comportamento com as versões 3.19.1–3.19.4 do protobuf; considera-se concluído quando os arquivos CommonJS gerados puderem ser importados e usados no Node.js sem um erro de window.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

javascript question

This bug is a rebirth of protocolbuffers/protobuf#9152, which has already been fixed in v3.19.1. It seems the fix hasn't been delivered to the latest version.

What version of protobuf and what language are you using?
Version: v3.20.1
Language: Javascript

What operating system (Linux, Windows, ...) and version?
macOs Monterey v12.3.1

What runtime / compiler are you using (e.g., python version or gcc version)
Node.js v16.13.0

What did you do?

  1. Run protoc --js_out=import_style=commonjs,binary:path/to/out/dir --proto_path=. *.proto
  2. Try to import and use the generated *_pb.js files.

What did you expect to see
Import and use without errors (just as in 3.19.1 - 3.19.4).

What did you see instead?

ReferenceError: window is not defined

   14 | var jspb = require('google-protobuf');
   15 | var goog = jspb;
 > 16 | var global = (function() { return this || window || global || self || Function('return this')(); }).call(null);
Linguagem predominante
JavaScript
Estrelas
470
Forks
91
Merge médio
1d 12h
PRs com merge (30d)
6

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de protocolbuffers/protobuf-javascript

Todas as issues de protocolbuffers/protobuf-javascript

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.