protocolbuffers / protocolbuffers/protobuf-javascript
The generated commonjs `*_pb.js` files don't work in Node.js environment
まだ誰も着手していません。
- 主要言語
- JavaScript
- スター
- 471
- フォーク
- 91
- 平均マージ
- 3時間 57分
- マージ済み PR(30日)
- 2
説明
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?
- Run
protoc --js_out=import_style=commonjs,binary:path/to/out/dir --proto_path=. *.proto - 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);
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
示されている protoc コマンドと Node.js v16.13.0 で問題を再現し、その後、16 行目のグローバル初期化付近にある生成された *_pb.js コードを調べます。protobuf バージョン 3.19.1–3.19.4 での動作を比較します。生成された CommonJS ファイルを、window エラーなしで Node.js にインポートして使用できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, node.js
- 領域
- backend
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100