protocolbuffers / protocolbuffers/protobuf-javascript

Global scope pollution in google-protobuf npm library cause conflict between sub dependencies

オープン
#76 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement help wanted javascript triaged
主要言語
JavaScript
スター
471
フォーク
91
平均マージ
3時間 57分
マージ済み PR(30日)
2

説明

The google-protobuf npm library pollutes the global scope through the global.proto variable.
This pollution causes conflict between different versions of google-protobuf in the same node process as they overwrites each other.

Reproduce:

  • Package A has google-protobuf@3.3.0 as a dependency
  • Package B has google-protobuf@3.1.0 as a dependency

If dependency B is required after A, the older version of google-protobuf owervrites the new versions global.proto in the process.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、npm パッケージ google-protobuf のエントリポイントと、global.proto 変数の初期化を調べます。1つの Node プロセスで2つのバージョンを読み込んで競合を再現し、その後、共有グローバル状態を上書きせずに両方の依存関係のバージョンが共存できることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, node.js
領域
backend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。