みなさんは気づきましたか。
あら便利カレンダーの日付と、記事の投稿日付がずれていることを…
さて、TypeORMネタです。
構成
- ServerlessFramework
- serverless-webpack
- TypeORM
あたりを使ってTypeScriptなアプリケーションをAWS Lambda + API Gatewayな感じでデプロイしたいわけです。
これでデプロイするとMySQLドライバーがありません!くそしてねろ!みたいなことを言われます。
仕事なので寝てるわけにはいきません。
依存 of 依存をキャッチできない問題
依存物内のランタイムでロードされるような依存物はwebpackでロードされません。
今回のエラーはそれに起因します。
このあたりのコードです。
if (name) { return require("mysql"); }
みたいなことがされてます。
こうなるとmysqlをwebpackingできなくてくそして寝る羽目になります。
解決策
これはserverless-webpackで強制的にincludeすることで解決できます。
serverless.yml
custom: webpack: includeModules: forceInclude: - mysql
たったこれだけ。
知りませんでした。