evanw / evanw/node-source-map-support
Only first line working?
- 主要言語
- JavaScript
- スター
- 2.2k
- フォーク
- 223
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
`node v8.0.0`
src/throw-err.js (not compiled)
```javascript
import 'source-map-support/register'
const main = async () => {
throw new Error('wooot')
}
main().catch(console.error)
```
lib/throw-err.js (compiled with babel)
```javascript
'use strict';
require('source-map-support/register');
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
const main = (() => {
var _ref = _asyncToGenerator(function* () {
throw new Error('wooot');
});
return function main() {
return _ref.apply(this, arguments);
};
})();
main().catch(console.error);
//# sourceMappingURL=throw-err.js.map
```
lib/throw-err.js.map (source map)
```json
{"version":3,"sources":["../src/throw-err.js"],"names":["main","Error","catch","console","error"],"mappings":";;AAAA;;;;AAEA,MAAMA;AAAA,+BAAO,aAAY;AACvB,UAAM,IAAIC,KAAJ,CAAU,OAAV,CAAN;AACD,GAFK;;AAAA;AAAA;AAAA;AAAA,IAAN;;AAIAD,OAAOE,KAAP,CAAaC,QAAQC,KAArB","file":"throw-err.js","sourcesContent":["import 'source-map-support/register'\n\nconst main = async () => {\n throw new Error('wooot')\n}\n\nmain().catch(console.error)\n"]}
```
```
$ node lib/throw-err.js
Error: wooot
at /Users/olalonde/code/binded/filepunk/src/throw-err.js:4:9
at Generator.next ()
at step (/Users/olalonde/code/binded/filepunk/lib/throw-err.js:5:191)
at /Users/olalonde/code/binded/filepunk/lib/throw-err.js:5:437
at Promise ()
at /Users/olalonde/code/binded/filepunk/lib/throw-err.js:5:99
at main (/Users/olalonde/code/binded/filepunk/src/throw-err.js:3:7)
at Object. (/Users/olalonde/code/binded/filepunk/src/throw-err.js:7:1)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
```
Why Is only the first line of the stack trace correct? `at Generator.next ()` and lines with `lib/` should not be there.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
示されている lib/throw-err.js を実行し、src/throw-err.js とその throw-err.js.map を参照入力として使用して、Node v8 で報告を再現します。source-map-support/register から開始し、スタックがどのようにマッピングされるかを調査します。この例を実行したときに、非同期エラースタックに Generator.next や lib/ フレームが含まれなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, node.js
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100