AmazonSAMでTypeScriptはデバッグできない
AmazonSAMでTypeScriptはデバッグできない
Amazon SAMでnode.jsでSAM CLIでTypeScriptの雛形を作ったんですが。
- ビルドできます。
- デプロイできます。
- ローカルデバッグ・・・できませんでした!
これは困る。
2023/11/15現在、諦めた方がいいみたいです。
何をやっても以下のようにエラーが出ます。
デバッグに必要なマップファイルが読み込めないんじゃブレークポイント貼っても止まりませんよねぇ。

file:///var/task/app.js のソース マップを読み取れませんでした: ENOENT: no such file or directory, open '/home/abe/projects/SAMTest/sam-app/hello-world/app.js.map'
AWSの「TypeScript アプリケーションをデバッグするが、ブレークポイントが機能しない」の記事があったのでできる前提で色々試してはみたんですが。
tsconfig.jsonに"inlineSourceMap": trueを追加したけどダメ。
一応、
$ cd hello_world
$ npm run compile
$ cd ..
$ sam build
とやったけど症状変わらず。
*.js.map自体は .aws-sam/build/HelloWorldFunction にあったので launch.jsonを以下のように書き換えてみたけど・・・ダメでした。
{
"type": "aws-sam",
"request": "direct-invoke",
"name": "sam-app:HelloWorldFunction (nodejs18.x)",
"invokeTarget": {
"target": "template",
"templatePath": "${workspaceFolder}/template.yaml",
"logicalId": "HelloWorldFunction"
},
"lambda": {
"payload": {},
"environmentVariables": {}
},
"sourceMapPathOverrides": {
"file:///var/task/*": "${workspaceFolder}/.aws-sam/build/HelloWorldFunction/*"
},
"sourceMaps": true,
},
“.aws-sam” が “aws-sam” にされてドットが無視されてました。
もちろんtemplate.yamlの Sourcemap: true は入れてます。
TypeScript以外は問題なくデバッグできるますので、暫く様子見ですね。
・・・というわけで、JavaScriptでイッカナ。
コメント
コメントを投稿