開発

Flutter Webアプリ13本に
使われていないcanvaskitが約400MB残っていた

· SEADICE

Flutter Webで配信している13本のアプリ全てに、ビルドをそのまま置いたときのcanvaskit/フォルダが残っていた。1本あたり十数MB〜30MB前後、合計すると約400MBがリポジトリの重複データになっていた。

ビルドはGoogleの配信元から読んでいた

Flutter Webのビルドはflutter_bootstrap.js経由で、canvaskit本体をGoogleのgstatic配信元から読み込む設定になっている。つまりp/{アプリ}/canvaskit/配下に置いていたファイルは、デプロイしてもブラウザから一度も読まれていなかった。実際に13本分をまるごと削除してみても、アプリの表示・動作は変わらなかった。

13本で同じ重複をくり返していた

各アプリをビルドするたびにbuild/web/一式をそのままp/配下へコピーしていたため、使われないcanvaskit/も毎回一緒に置かれていた。対象はboueki-hub本体と配下の4本(english-word・jitsumu-word・kentei・srs)、drone/anki、focus-dice、jinsei_pyramid、kao_type_diag、lifeisrpg、rakuraku、toiteの計13本。削除した差分は196ファイル・約81万行で、そのほとんどがwasm・JSのバイナリとソースマップだった。

直したこととルール化

13本分のcanvaskit/を削除し、CLAUDE.mdに「Flutter Webのビルドを置くときはcanvaskit/フォルダを消す」ことを明記した。次に新しいビルドを置くときも、同じ重複を増やさないようにする。

Today's App

といて — 数学・英語の問題をカメラで撮るだけでAIが解説するアプリ →

← ブログ一覧に戻る