Astro 5でVitestが動かなかった話
先日、当ブログをAstro 5にアップグレードしました。
その際、そろそろリファクタリングしたいなと思い、まずは自動テストを導入してリグレッションを防止しようとしたのですが…
[object Object]
ってお前情報量なさすぎだろしばくぞ???????
結論
2025/1/17にリリースされたVitest 3を使ってください。
問題の切り分け
Vitestの設定を疑う
Testing - Astro Docsには、Vitest with Astro projectではgetViteConfig
をvitest.config.ts
で使う必要があると書かれています。
これに従いますが、test
フィールドがエラーになります。
となると原因はVitestそのものか、プロジェクト固有の問題になります。
新規プロジェクトで試す
pnpm create astro@latest
で新規プロジェクトを立ち上げ、Vitestを導入しますが、同様のエラーが発生しました。
ここで、原因はVitestにあると判断しました。
Issueを見る
AstroのIssueを調べると、vitest.config.mjs in 5.0 beta - Unknown Error: [object object]というものが見つかりました。
要点は
- Astro 5はVite 6を用いている
- Vitest 2はVite 6をサポートしていない
ということです。
なのでpnpm update vitest@3.0.1
でパッケージを更新すればOKです。