期間: 2026-09-27 〜 2026-09-30 · PR 19 件(新機能 0 / 変更・修正 14 / その他 5)

新機能

なし

変更・修正

キャッシュ: キャッシュ済みモジュールの import を再検証(#11381)

Before

キャッシュされた変換結果は、変換時に Vite が解決した URL を import したままになるため、ブランチの切り替えで依存がリネームされた場合などに古い結果が使われていた(#11246)。

After

キャッシュを使う前に、すべての import が今も同じモジュールに解決されるかを確認し、違えばモジュールを変換し直す。キャッシュされた importer は、ルート外の import を読み込み可能として登録するため、クライアント環境(jsdom・happy-dom)でも server.fs.allow の外の依存の変更を読み込める。ベンチマークでは実行時間・メモリに目立った差はなく、ディスク上のキャッシュは約 1% 増える。

⏳ 未リリース · トピック: キャッシュ

キャッシュ: キャッシュキーの生成をプロジェクトごとに分離(#11301)

Before

すべてのプロジェクトのキャッシュキー生成関数が全モジュールに対して実行されていたため、設定の異なるプロジェクトどうしで誤った変換結果を共有することがあった(#11281)。

After

キャッシュキー生成関数は、そのプロジェクトの設定に対してだけ実行される。プラグインのコンテキストの JSDoc にもプロジェクト単位であることを明記した。

⏳ 未リリース · トピック: キャッシュ

終了時にルートの一時ディレクトリを削除(#11248)

Before

すべて成功した実行でも、os.tmpdir() の下にルートの Vitest._tmpDir(実行ごとのモジュールのコピー)が残っていた。TestProject.close() はプロジェクトごとの一時ディレクトリしか消さず、Vitest.close() は何も消していなかった(#11224)。

After

Vitest.close() がプロジェクトとプールを閉じた後にルートの一時ディレクトリを削除する。閉じた後に再起動した場合は新しいディレクトリを割り当てる。

⏳ 未リリース · トピック: キャッシュ

repeats の各回で result.status を分離(#11218)

Before

repeats のループが回をまたいで結果の状態を使い回していたため、失敗の後に成功した回で onTestFailed が呼ばれたり、retry を有効にしていると後の成功が前の回の失敗を消して、テストが成功と報告されたりしていた。

After

回ごとに結果をリセットし、失敗した回のエラーを別に集めるようにした。各回は独立に評価され、どれか 1 回でも失敗すればテスト全体が失敗になる。

⏳ 未リリース · トピック: ランタイム

test.fails が期待どおり失敗したときはリトライしないように(#11219)

Before

test.fails の成功・失敗の反転が実行の後に行われていたため、期待どおりに失敗したテストでもリトライされていた(#11068)。

After

反転をリトライの判断より前に行うようにし、期待どおりの失敗ではリトライしない。

⏳ 未リリース · トピック: ランタイム

sequence.groupOrder を設定したときにプール ID が重複する不具合を修正(#11392)

Before

次の sequence.groupOrder のグループが始まると setMaxWorkers() が ID の表を置き換え、前のグループの最後のタスクが解放した ID が新しい表に入ってしまい、使用中の ID が空きとして扱われていた。その結果、次のファイルが同じ VITEST_POOL_ID で実行されていた(#11391)。

After

ID は取得した表に返すようにし、VITEST_POOL_ID が重複しなくなった。

⏳ 未リリース · トピック: プール

vm プールで index.html の依存を事前バンドルしないように(#11360)

Before

pool: 'vmThreads' / 'vmForks' では、__vitest_vm__ 環境に optimizeDeps の設定が適用されず、Vite の依存の optimizer がプロジェクトの index.html から依存を探していた。バンドルできない依存があると、テストがすべて成功しても未処理の rejection で終了コード 1 になっていた(#11329)。

After

optimizeDeps の設定を __vitest_vm__ 環境にも適用し、threads / forks と同じく index.html からの自動検出を行わない。

⏳ 未リリース · トピック: プール

jsdom: jsdom 30.1 の Blob に対応(#11379)

Before

jsdom 30.1 で Blob がうまく扱えなかった(#11336)。

After

jsdom 環境の実装(integrations/env/jsdom.ts)を修正し、jsdom 30.1 の Blob に対応した。

⏳ 未リリース · トピック: テスト環境

browser: モックのパスの境界を確認(#11362)

Before

ルートが packages/app のとき、resolveMockPath() が /@fs/.../packages/app-utils/src/value.ts を -utils/src/value.ts に変えてしまい、Playwright プロバイダーがリクエストを横取りできず、モックが効かなかった(#11361)。

After

node/resolver.ts と同じく withTrailingSlash(root) で確認するようにし、名前がルートで始まる隣のディレクトリを誤ってルート配下と見なさない。ルートが / の場合の挙動は変わらない。

⏳ 未リリース · トピック: ブラウザモード、モック

ブラウザモードでインターセプターの警告を出さないように(#11377)

Before

ブラウザモードで、モックのインターセプターに関する警告が表示されていた(#11276)。

After

警告を出さないようにした。あわせて、モックのインターセプター(ブラウザモードとは別の公開パッケージ)のセキュリティも改善した。

⏳ 未リリース · トピック: ブラウザモード、モック

browser: ブラウザが使う環境の設定を保持(#11378)

Before

#10554 以降、ブラウザのテストはプロジェクトの Vite サーバーで配信され、client 以外の環境はすべて Node のモジュールランナー向けに設定されていた。consumer: 'client' のカスタム環境は optimizeDeps を失い(resolve.noExternal: true なども設定され)、CommonJS の依存が変換されずにページに届いて ReferenceError: module is not defined になっていた(vitest-plugin-rsc など。5.0.0-beta.2 では動いていた)。

After

ブラウザモードでは、consumer: 'client' の環境を client と同様にそのままにする。Vite が consumer を 'client' にするのは client 環境だけなので、影響するのは明示的に指定した環境だけ。

⏳ 未リリース · トピック: ブラウザモード

browser: キャンセル中のページのクラッシュを無視(#11386)

Before

キャンセル中に、Playwright の crash イベントが websocket の close イベントより先に届くと、実行が失敗していた(bail-out.test.ts の flaky の原因)。

After

キャンセル中のページのクラッシュを無視するようにした。あわせて、oxfmt への移行(#11367)で古くなった scoped-fixtures.test.ts のスナップショットを更新した。

⏳ 未リリース · トピック: ブラウザモード

browser: リトライしたテストで toMatchScreenshot が誤った参照画像を使う不具合を修正(#11393)

Before

リトライされたテストで、toMatchScreenshot が誤った参照画像を使っていた(#11382)。

After

リトライ時にも正しい参照画像を使うよう修正した。

⏳ 未リリース · トピック: ブラウザモード、アサーション

ui: 分割ペインのハンドルが iframe と重なる不具合を修正(#11221)

Before

UI で、分割ペインのハンドルがブラウザの iframe と重なっていた(#11170)。

After

BrowserIframe.vue とスタイルを修正し、重ならないようにした。

⏳ 未リリース · トピック: UI

その他

  • chore: oxc に移行(#11367)⏳ 未リリース
  • chore(deps): renovate で rrweb-snapshot を無視(#11290)⏳ 未リリース
  • docs: プロジェクトでの cwd の挙動を記載(#11376)⏳ 未リリース
  • test: Windows で失敗するテストを修正(#11390)⏳ 未リリース
  • docs: ドキュメントを Cloudflare にデプロイ(#11388)⏳ 未リリース