みなさんは気づきましたか。
あら便利カレンダーの日付と、記事の投稿日付がずれていることを...
さて、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
たったこれだけ。
知りませんでした。