build(deps-dev): update dependency vitest to v5 - #245
Conversation
There was a problem hiding this comment.
renovateによるvitest 4.1.11 -> 5.0.0のメジャー更新です。
ロックファイル上で@vitest/expect, @vitest/runner, @vitest/snapshot, @vitest/utils, @vitest/pretty-format, pathe, tinyrainbow, convert-source-mapが消えていますが、これはvitest本体へのインライン化と依存整理によるもので、意図しない削除ではありません。magic-stringは1.2.3へ、tinybenchは6.1.4へ上がっています。
本プロジェクトのテストが使うAPIはdescribe/it/expect/beforeEach/afterEachのみで、v5の主要な破壊的変更(vi.mockのトップレベル制約, clearMocksのデフォルト変更, test.sequential削除, benchmark API刷新, browser mode変更)はいずれも該当しません。vite.config.tsが使うdefineConfig/configDefaultsもv5で維持されています。ピア依存もvite 8.2.2 / @types/node 22.20.1で要求を満たしています。
ブロッカーとなる問題はないためAPPROVEとします。engines.nodeの整合について1点だけNOTEを残しました。
Review metadata
- Reviewed commit: a10a6c2783f42a13eebb026c549c2d719d250183
- PR: #245
- kyosei: 3.6.0
- kyosei-action: 2.4.0
- Claude Code: 2.1.220
- Model: claude-opus-5
- Execution: GitHub Actions (run)
| "typescript-eslint": "8.68.0", | ||
| "vite": "8.2.2", | ||
| "vitest": "4.1.11" | ||
| "vitest": "5.0.0" |
There was a problem hiding this comment.
Note
📦 Dependency 🧪 Test
vitest 5.0.0はNode要求が^20.0.0 || ^22.0.0 || >=24.0.0から^22.12.0 || ^24.0.0 || >=26.0.0へ引き上げられました。一方で本プロジェクトのengines.nodeは>=22.22のままです。
下限としては22.22 >= 22.12なので問題ありませんが、>=22.22はNode 23や25といった奇数系メジャーも許容してしまい、これらはvitest 5のサポート範囲外です。flake.nix経由のnodejsは偶数系に固定されるため実害は出にくいですが、^22.22.0 || ^24.0.0 || >=26.0.0のようにvitest 5の範囲へ揃えておくと、開発環境外で誤ったNodeが使われた際にEBADENGINEで早期に検出できます。
参考として、vitest 5.0.0はリリースから日が浅く(2026-09-03公開)パッチリリースがまだ出ていません。テスト終了時にEnvironmentTeardownError: Closing rpc while "onUserConsoleLog" was pendingが断続的に発生する回帰報告(https://github.com/vitest-dev/vitest/issues/11153)があります。本プロジェクトはgitコマンドを実行する統合テストを含むため、CIが断続的に落ちるようになった場合はこの既知問題を疑い、5.0.1以降に速やかに追随することを推奨します。
This PR contains the following updates:
4.1.11→5.0.0Release Notes
vitest-dev/vitest (vitest)
v5.0.0Compare Source
🚨 Breaking Changes
loupe.inspectwith pretty-format - by @hi-ogawa, Claude Opus 5 (1M context) and OpenAI Codex in #9609 (3f802)test.for/eachtitle$variable (take 2) - by @hi-ogawa in #10170 (04d37)attachmentsDirfrom.vitest-attachements/to.vitest/attachments/- by @MdSadiqMd in #10186 (1ba73)sequentialtest/suite options in favor ofconcurrent- by @hi-ogawa and OpenAI Codex in #10198 (9229f)expectpackage - by @sheremet-va in #10221 (ad162)expect.pollwhen function didn't resolve in time - by @hi-ogawa and OpenAI Codex in #10233 (4df04)toHaveTextContentis strict, addtoMatchTextContentas alternative - by @sheremet-va in #10473 (18f30)@vitest/runnerpackage, do not publish it anymore - by @sheremet-va in #10511 (6d6e4)concurrencyId/workerIdon TestModule's diagnostics, make id 1-based - by @sheremet-va in #10516 (bdd98)screenshotDirectoryconfig tobrowser.expect.toMatchScreenshot- by @macarie in #10592 (a60de)@sinonjs/fake-timersand support mockingTemporal- by @hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in #10654 (f8b15)>as separator in-t, calculateonlyonce - by @sheremet-va in #10686 (a0b20)locators.exactby default - by @sheremet-va in #10430 (e2032)sessionIdfor orchestrator html request - by @hi-ogawa, Hiroshi Ogawa and OpenAI Codex in #10522 (79b7d)attachmentsDir- by @macarie in #10917 (3b5bb)include/excludeglobs too eager - by @AriPerkkio in #9818 (edacb)thresholds.perFileto accept an object - by @vladlenskiy and @AriPerkkio in #10190 (13b78)toThrow("")behavior by reverting #6710 - by @hi-ogawa in #9643 and #6710 (6c3e4)blobreporter and--merge-reportsdefault to.vitest/blob/- by @AriPerkkio in #10232 (d22b0).vitestby default - by @hi-ogawa, Hiroshi Ogawa, OpenCode (gpt-5.6-sol) and @AriPerkkio in #10621 (58577).vitest- by @hi-ogawa and Hiroshi Ogawa in #10620 (29c36)🚀 Features
createReportand.vitestreport directory convention - by @AriPerkkio in #9993 (72a6d)configDefaults.reporters- by @hi-ogawa and Claude Opus 5 (1M context) in #10219 (083f6)logger.formatError- by @hi-ogawa and OpenAI Codex in #10268 (2c5f3)injectCjsGlobalsoption - by @sheremet-va in #10709 (82671)for/eachtitle placeholders - by @k-yle in #10773 (15e0a)ToMatchScreenshotResolvePath- by @macarie and @sheremet-va in #10138 (16654)kindinpage.mark- by @AriPerkkio in #10302 (053e8)context.markfor custom command tracing - by @AriPerkkio in #10329 (aa514)--repeatsCLI option - by @todor-a in #10504 (ee48b)node:child_processandnode:worker_threadscontexts - by @AriPerkkio in #9976 (9baa5)thresholds.autoUpdateto receive previous threshold as argument - by @wouterkroes in #10495 (04f81)@vitest/istanbuljspackages - by @AriPerkkio in #11053 (5f6a5)vi.when()- by @macarie in #10174 (3900e)require(esm)in vm pools - by @sheremet-va in #10829 (01298)🐞 Bug Fixes
sequence.concurrent: truewith top-leveltest(..., { concurrent: false })+ depreactesequentialtest API and options - by @hi-ogawa, OpenAI Codex and @sheremet-va in #10194 (9387f)tagsoptions should overwrite inherited suite options + inherit suite options intaskAPI - by @hi-ogawa and OpenAI Codex in #10216 (457db)attachmentsDirroot only config - by @hi-ogawa and OpenAI Codex in #10334 (fab1b)__esModule- by @hi-ogawa in #10363 (2b135)vi.defineHelpercallsite for async error stack - by @macayu17 and @hi-ogawa in #10415 (ac697)disableConsoleInterceptin browser mode - by @Copilot, Hiroshi Ogawa, @hi-ogawa and OpenAI Codex in #10391 (66110)onUserConsoleLog- by @Copilot, Hiroshi Ogawa, @hi-ogawa and @sheremet-va in #10308 (62756)importOriginalwith optimizer and query import - by @davidxharris, David Harris, @hi-ogawa, Hiroshi Ogawa and OpenAI Codex in #10469 (6a3bb)setImmediateawait in detect-async-leak - by @hi-ogawa and Hiroshi Ogawa in #10608 (dd62b)sequenceconfig - by @hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in #10659 (40cdc)includeTaskLocationis enabled - by @sheremet-va in #10681 (bd9cc)off- by @sheremet-va in #10741 (d758b)ci.yml- by @hirehamir in #10759 (2127f)vitest --typecheckfrom reporting a false success when thetscprocess crashes - by @hitenkalda and Hiten Kalda in #10705 (a1b05)process.exitdisabled in workers - by @sheremet-va in #10963 (5e69a)recordArtifactlocation withvi.defineHelper- by @hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in #11047 (c2186)oxc.targetif user provides a custom array - by @sheremet-va in #11095 (848d7)extends: true- by @sheremet-va in #11120 (584cf)wrapDynamicImporttransform on ssr environment - by @hi-ogawa in #10355 (d3c96)cdpAPI whenallowWrite/allowExec: false- by @hi-ogawa and OpenAI Codex in #10444 (63e3b)connectTimeoutfrom the project config - by @lazerg in #10879 and #10880 (62c79)ui: truein projects - by @AriPerkkio in #10994 (9f710)fsModuleCacheresiliency during external modifications - by @jszumski in #10869 (5eb35)FORCE_COLORover agent detection - by @dokson in #10272 (7e66b)CTRL+ceven whenglobalSetupruns blocked code - by @AriPerkkio in #10863 (d568f)excludeto not inherit negation globs fromtest.include- by @AriPerkkio in #10299 (28685)coverage.reportsDirectoryconflicts between concurrent runs - by @jgamaraalv and @AriPerkkio in #10466 (833f0)/@fs/prepended virtual files - by @AriPerkkio in #11119 (c4473)toNotFake- by @BPScott, @hi-ogawa and OpenAI Codex in #10043 (bbf2f)Configuration
📅 Schedule: (in timezone Asia/Tokyo)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.