
Astro 7 リリース - コンパイラもMarkdownもRust化、Vite 8でビルドが最大61%速く
コンテンツ系 Web フレームワーク Astro のメジャー版 Astro 7 が、2026年6月22日にリリースされました。テーマはずばり 「Rust 化」。.astro コンパイラ・Markdown 処理系・バンドラのいずれもが Rust 製になり、ビルドが大きく速くなりました。この記事では、Astro 7 の目玉と 6→7 の破壊的変更を、Astro 公式を一次ソースに整理します。前メジャーはAstro 6 の新機能を参照してください。
目玉は「3つの Rust 化」
| 領域 | 旧 | Astro 7 |
|---|---|---|
.astro コンパイラ | Go 製 | Rust 製に書き換え |
| Markdown / MDX 処理 | unified(remark/rehype) | Sätteri(Rust 製)がデフォルト |
| バンドラ | esbuild + Rollup | Vite 8 + Rolldown(Rust 製) |
その結果、ビルド時間は公式報告で15〜61%短縮。例として docs.astro.build は 114.54秒 → 73.53秒に短縮されています。JSツールチェーンの Rust 化(Vite 7 と Rolldown、Oxc / Oxlint、Bun の Zig→Rust)の流れが、Astro でも一気に進んだ格好です。
Sätteri: Rust 製 Markdown 処理系
Astro 7 最大の体感ポイントが Sätteri(Astro 6.4 で導入、7 でデフォルト化)です。
- Rust 製の Markdown/MDX パイプライン。GFM テーブル・タスクリスト・Smartypants・ディレクティブなどをコンパイル時にネイティブ処理する
- 従来の unified は「プラグインごとに AST を全走査」するため積み重なると重い。Sätteri は単一パス+ネイティブで速い
WARNING
Sätteri は remark / rehype プラグインを実行しません(バグではなくアーキテクチャ上の仕様。Rust の AST は JS プラグインを直接動かせない)。remark-toc や rehype-autolink-headings などに依存している場合は、明示的に unified へ戻す必要があります。
import { unified } from '@astrojs/markdown-remark';
import remarkToc from 'remark-toc';
export default defineConfig({
markdown: {
processor: unified({ remarkPlugins: [remarkToc] }),
},
});プラグインへの依存がなく、GFM・Smartypants 程度で足りるサイト(特に記事数の多いドキュメント)は、Sätteri のままビルド短縮の恩恵を受けられます。
その他の新機能
- 高度なルーティング:
src/fetch.tsをエントリポイントに、リクエストパイプライン全体を制御できる - Route Caching: プラットフォーム非依存のキャッシュAPI(Netlify / Vercel / Cloudflare の CDN と連携)が安定化
- Queued Rendering が安定版に(従来は実験的)。公称「約2.4倍高速」
- バックグラウンド開発サーバー:
astro dev --background。AIエージェントの検出に対応 - JSON ログ: 構造化ログ出力(CLIフラグ/設定)
6→7 の破壊的変更
メジャー更新なので、移行時の注意があります。
- HTML の厳格化: 「自動補正をやめた」。閉じ忘れタグや未終端の属性は自動修正されずエラーになる
- 空白の扱い: インライン要素間の空白を JSX 風に折りたたむ(改行が可視スペースを生まなくなる)
- Sätteri がデフォルト: remark/rehype 利用者は
@astrojs/markdown-remarkで明示オプトイン - Route Caching の移行:
cache/routeRulesをexperimentalからトップレベル設定へ移動
NOTE
上記のほか、Node.js の最低要件など環境面の変更がある可能性があります。アップグレード時は必ず公式の v7 アップグレードガイドで前提条件を確認してください(npx @astrojs/upgrade が用意されています)。
まとめ
- Astro 7(2026-06-22)は 「Rust 化」メジャー。.astro コンパイラ・Sätteri(Markdown)・Vite 8/Rolldown がすべて Rust 製に
- ビルドは15〜61%短縮(docs.astro.build で114.54秒→73.53秒)
- Sätteri デフォルト化が最大の注意点。remark/rehype は明示オプトインが必要
- 新機能は 高度ルーティング(
src/fetch.ts)・Route Caching・Queued Rendering 安定化・バックグラウンド dev サーバー - 破壊的変更は HTML 厳格化・空白の折りたたみ・Sätteri/Route Caching の移行。
npx @astrojs/upgradeで更新
「フレームワークの足回りを Rust で固める」流れの、いまいちばん分かりやすい実例が Astro 7 です。プラグイン依存さえ整理できれば、ビルド短縮の恩恵は大きいので、ドキュメントサイトから試す価値があります。


