cdkでnodejs(typescript)のLambdaを実装する時、そこに外部ライブラリを使うのかい?使わないのかい?どっちなんだい?
最近、projenを使ったcdkプロジェクトの構成ファイル管理にハマっています。 いままでは、pythonでLambdaを書いていたのですが、cdkはtypescriptで書いており、いっそのことLambdaもtypescriptで書いちゃおうと思ったのですが、外部ライブラリをimportする際に怒られる。
Error: Cannot extract version for module 'XXXX'. Check that it's referenced in your package.json or installed.
やること
package.jsonをhandlerのjsファイルにないので、yarn initでpackage.jsonを作って、dependenciesを追加する
$ cd {lambda実装したフォルダ} $ yarn init $ yarn add 'XXXX'
これでpackage.jsonファイルが作成されて、モジュールのdependencesも設定できる。\
ちなみに、最初は訳もわからず$ yarn add -D 'XXX'
をしてしまい、devDependenciesに設定してしまったがために、yarn buildした時にdependenciesにしてねと怒られた。