Amplify Hostingでサイズ超過エラー
RemixをAmplify Hostingでデプロイしようとした時に以下のエラーが発生した。
code:console
!!! CustomerError: The size of the build output (432446591) exceeds the max allowed size of 230686720 bytes. Please reduce the size of your build output (/codebuild/output/src1502100839/src/foo/frontend/.amplify-hosting/compute/default) and try again.
どうやらAmplify Hostingにはビルドサイズ200MBまでという制約があるそうです。
App RunnerやECS + Fargateの検討も視野に入れたのですが、Amplifyの機能を使いたかったのでもう少し頑張ってみることにしました。
node_modulesの中身をのぞいてみたら587MBもありました😳
https://scrapbox.io/files/67691d2ad0014ef8c8db9271.png
GrandPerspectiveというツールです
とはいえ、削れるパッケージがあまりなかったので別の手法で探しました。
このあたりでも言及されていますが、Next.jsの話題でRemixではないのでそのまま適用できるものがありませんでした。
ですが、気になったのはnpm ci --productionです。
devDependenciesは開発環境でのみ必要なパッケージになるので、ここを削減できたら大幅に容量を削減できるという見込みです。
最終的には、ビルドの後の処理(postBuild)にrm -rf node_modulesとnpm ci --productionを追加することで解決されました。