evanw / evanw/node-source-map-support

Why use Buffer as an implicit dependency?

オープン
#95 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
2.2k
フォーク
223
PR マージ指標
30日以内にマージされた PR はありません

説明

:point_up: :point_right: https://github.com/evanw/node-source-map-support/blob/6296f616ca56fc1e1ced36ea15a2eb43d4227c54/source-map-support.js#L111

**Background:**
We (https://github.com/CartoDB/cartodb) suffered a `Uncaught RangeError: Maximum call stack size exceeded` exception on uncaught exceptions after upgrading browserify. I found some similar reported stuff here, e.g. #86 and #93, but after some investigation I found the culprit to be the implicit dependency of [buffer](https://github.com/feross/buffer) used at the line above.

Since there's no reference to this module in this repo I presume that it's accessible through the [browserify module](https://github.com/substack/node-browserify/blob/11.0.1/package.json#L28)? Considering it's a key piece for this module to work, why not define the dependency in this package?

~~That said, there's [a fix](https://github.com/feross/buffer/commit/c681bda) but it's not yet released (v3.4.2), so my temporary workaround to this was to override the implicit dependency, see: https://github.com/CartoDB/cartodb/pull/5171/files~~ The fix was released in [buffer v3.4.2](https://github.com/feross/buffer/tree/v3.4.3)

cc @tanem who seem to have suffered similar issues, perhaps this also works for you

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

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

調査の方向性

source-map-support.js の 111 行目と、このリポジトリのパッケージメタデータを確認し、browserify が buffer をどのように提供するかを検証します。依存関係の処理が明示的であり、報告された browserify のシナリオに照らして関連するインストールまたはパッケージングの動作が確認済みであれば完了です。

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

評価

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

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

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