Serverless Webpack の Legacy configuration detected 対応
Serverless Webpack で、古い設定が存在するというメッセージが表示されていたので、対応したメモ。
Serverless: Legacy configuration detected. Consider to use "custom.webpack" as object (see README).
内容が分かりづらいのですが、何らかの項目を custom.webpack
以下に入れろとのこと。
対応
Serverless Webpack の README を眺めると、custom.webpackIncludeModules
が custom.webpack.includeModules
に移動されていました。
遅くとも 2018/3 には名前が変わっており、参考にした情報が古かったようです。
- GitHub - serverless-heaven/serverless-webpack: Serverless plugin to bundle your lambdas with Webpack
変更前:
custom:
webpackIncludeModules: true
webpack:
# ...
以下のように変更したところ、メッセージが表示されなくなりました。
custom:
webpack:
includeModules:
forceExclude:
- aws-sdk
# ...
ついでに aws-sdk
をビルド対象から除外する
forceExclude
オプションで aws-sdk
を指定することで、ビルド対象から除外しました。
README に記載がありますが、AWS Lambda では aws-sdk
が利用できる状態になっているためです。
https://github.com/serverless-heaven/serverless-webpack#aws-sdk
これによって、自分の環境では、デプロイパッケージのサイズが 9.3 MB から 2.5 MB まで削減できました。