本文へスキップ
MameTechNews
フロントエンド

Astro 7.2、実験的な増分静的ビルドで再生成を削減

## POINTS

  • incrementalBuildとcacheKeyで、未変更の静的ページ再生成をスキップできる実験機能が追加された
  • モジュールハッシュとcacheKeyの両方が一致したときだけ再利用され、未設定ルートは従来どおり再生成される
  • 大規模静的サイトのCI短縮が主眼で、session無効化やpreviewのバックグラウンド起動も同時に入った

Astroは公式ブログでAstro 7.2の公開を告知した。見出し機能は実験フラグexperimental.incrementalBuildによる増分静的ビルドで、コードとデータが変わっていないprerenderページのHTML再生成をスキップできる。getStaticPaths()で各パスにcacheKeyを返すとオプトインし、コンテンツコレクションならentry.digestが例として案内されている。

Astroはモジュールグラフのハッシュも計算し、テンプレートやレイアウト、依存が変われば該当ルートは再描画される。cacheKeyがないパスは従来どおり毎回生成され、既存プロジェクトの挙動は明示オプトインまで変わらない。キャッシュは既定でnode_modules/.astro/に置かれ、CIで同ディレクトリを永続化している環境では再利用しやすい。

エンジニア視点

7.0で進んだRolldownやRust系Markdown高速化の次に、生成フェーズの無駄を削る段階に入った。数千ページ規模の静的サイトでは、差分だけを出す設計がCI時間とエージェント駆動の反復ビルドに効く。あわせてsession: falseで未使用セッションランタイムを外せるほか、astro preview --backgroundでエージェント向けのプレビュー運用も揃った。実験機能のため本番採用前にRFCと実サイトでの検証が前提になる。