evanw / evanw/node-source-map-support
Source maps not working with standard input
- 主要言語
- JavaScript
- スター
- 2.2k
- フォーク
- 223
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Below is the source file I am using:
```js
require('source-map-support').install();
throw new Error('error on line two');
```
The following command will generate the __correct__ output:
```sh
node dist/bundle.js
```
output:
```
/Users/nick/Desktop/dist/webpack:/example/index.js:2
throw new Error('error on line two');
^
Error: error on line two
at Object. (/Users/nick/Desktop/dist/webpack:/example/index.js:2:1)
at __webpack_require__ (/Users/nick/Desktop/dist/webpack:/webpack/bootstrap 8d9d0b53441c2ea13b08:19:1)
at /Users/nick/Desktop/dist/webpack:/webpack/bootstrap 8d9d0b53441c2ea13b08:39:1
at Object. (/Users/nick/Desktop/dist/bundle.js:43:10)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.runMain (module.js:605:10)
```
The following command with __not__ generate a line number or other source map information:
```sh
cat dist/bundle.js | node
```
output:
```
Error: error on line two
at Object. ([stdin]:48:8)
at __webpack_require__ ([stdin]:20:30)
at [stdin]:40:18
at [stdin]:43:10
at ContextifyScript.Script.runInThisContext (vm.js:23:33)
at Object.exports.runInThisContext (vm.js:74:17)
at Object. ([stdin]-wrapper:6:22)
at Module._compile (module.js:571:32)
at Immediate. (bootstrap_node.js:387:29)
at runCallback (timers.js:651:20)
```
The issue seems to arise when passing a script via standard input to node. I originally discovered it when I was creating a child process in node and passing generated code to it.
Please let me know if any more information is needed.
Thank you for your time in supporting this awesome project, and for taking the time to help me.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず `node dist/bundle.js` と `cat dist/bundle.js | node` で問題を再現し、ここに示されている source-mapped のスタックトレースと `[stdin]` のスタックトレースを比較します。source-map-support が標準入力から提供されたスクリプトをどのように処理するかを追跡します。標準入力からの呼び出しで元のソース位置と行情報が報告され、両方のコマンドを対象とする回帰テストが追加されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, node.js
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100