chore(deps): update vitest monorepo to v5 (#345)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@vitest/coverage-v8](https://vitest.dev/guide/coverage) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)) | [`4.1.11` → `5.0.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-v8/4.1.11/5.0.0) |  |  | | [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.1.11` → `5.0.0`](https://renovatebot.com/diffs/npm/vitest/4.1.11/5.0.0) |  |  | --- ### Release Notes <details> <summary>vitest-dev/vitest (@​vitest/coverage-v8)</summary> ### [`v5.0.0`](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.11...v5.0.0) Vitest 5 is officially out! This release focuses on performance and brings a lot of new features while fixing long-standing bugs. See our [blog post](https://vitest.dev/blog/vitest-5.html) for the official announcement. ##### 🚨 Breaking Changes - Replace `loupe.inspect` with pretty-format - by [@​hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 5 (1M context)** and **OpenAI Codex** in [#​9609](https://github.com/vitest-dev/vitest/issues/9609) [<samp>(3f802)</samp>](https://github.com/vitest-dev/vitest/commit/3f802da4b) - Remove quotes from string values in `test.for/each` title `$` variable (take 2) - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10170](https://github.com/vitest-dev/vitest/issues/10170) [<samp>(04d37)</samp>](https://github.com/vitest-dev/vitest/commit/04d37e9d7) - Default `attachmentsDir` from `.vitest-attachements/` to `.vitest/attachments/` - by [@​MdSadiqMd](https://github.com/MdSadiqMd) in [#​10186](https://github.com/vitest-dev/vitest/issues/10186) [<samp>(1ba73)</samp>](https://github.com/vitest-dev/vitest/commit/1ba7338c3) - Remove `sequential` test/suite options in favor of `concurrent` - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10198](https://github.com/vitest-dev/vitest/issues/10198) [<samp>(9229f)</samp>](https://github.com/vitest-dev/vitest/commit/9229f2edc) - Represent locator as an object instead of a string - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10212](https://github.com/vitest-dev/vitest/issues/10212) [<samp>(80f07)</samp>](https://github.com/vitest-dev/vitest/commit/80f07edf6) - Inline `expect` package - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10221](https://github.com/vitest-dev/vitest/issues/10221) [<samp>(ad162)</samp>](https://github.com/vitest-dev/vitest/commit/ad16223e7) - Remove deprecated entry points - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10222](https://github.com/vitest-dev/vitest/issues/10222) [<samp>(994c6)</samp>](https://github.com/vitest-dev/vitest/commit/994c6ddb9) - Require Node.js 22 and Vite 6.4 - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10178](https://github.com/vitest-dev/vitest/issues/10178) [<samp>(38762)</samp>](https://github.com/vitest-dev/vitest/commit/3876283e8) - Fail `expect.poll` when function didn't resolve in time - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10233](https://github.com/vitest-dev/vitest/issues/10233) [<samp>(4df04)</samp>](https://github.com/vitest-dev/vitest/commit/4df048c11) - Throw an error if hoistable methods are outside the top level scope - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10460](https://github.com/vitest-dev/vitest/issues/10460) [<samp>(d0b4f)</samp>](https://github.com/vitest-dev/vitest/commit/d0b4fddcb) - `toHaveTextContent` is strict, add `toMatchTextContent` as alternative - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10473](https://github.com/vitest-dev/vitest/issues/10473) [<samp>(18f30)</samp>](https://github.com/vitest-dev/vitest/commit/18f303079) - Don't lookup config file from ancestor directories - by [@​hi-ogawa](https://github.com/hi-ogawa), **OpenAI Codex** and **Hiroshi Ogawa** in [#​10428](https://github.com/vitest-dev/vitest/issues/10428) [<samp>(945d9)</samp>](https://github.com/vitest-dev/vitest/commit/945d9090e) - Inline `@vitest/runner` package, do not publish it anymore - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10511](https://github.com/vitest-dev/vitest/issues/10511) [<samp>(6d6e4)</samp>](https://github.com/vitest-dev/vitest/commit/6d6e46b1e) - Allow mutating happy-dom/jsdom window object - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenAI Codex** in [#​10373](https://github.com/vitest-dev/vitest/issues/10373) [<samp>(206e8)</samp>](https://github.com/vitest-dev/vitest/commit/206e8cff8) - Expose `concurrencyId`/`workerId` on TestModule's diagnostics, make id 1-based - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10516](https://github.com/vitest-dev/vitest/issues/10516) [<samp>(bdd98)</samp>](https://github.com/vitest-dev/vitest/commit/bdd985433) - Add `screenshotDirectory` config to `browser.expect.toMatchScreenshot` - by [@​macarie](https://github.com/macarie) in [#​10592](https://github.com/vitest-dev/vitest/issues/10592) [<samp>(a60de)</samp>](https://github.com/vitest-dev/vitest/commit/a60ded0fb) - Update `@sinonjs/fake-timers` and support mocking `Temporal` - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10654](https://github.com/vitest-dev/vitest/issues/10654) [<samp>(f8b15)</samp>](https://github.com/vitest-dev/vitest/commit/f8b1532fe) - Remove webdriverio package - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10675](https://github.com/vitest-dev/vitest/issues/10675) [<samp>(5fed6)</samp>](https://github.com/vitest-dev/vitest/commit/5fed68f72) - Clear mocks by default before each test - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10613](https://github.com/vitest-dev/vitest/issues/10613) [<samp>(0f646)</samp>](https://github.com/vitest-dev/vitest/commit/0f6463bf2) - Don't emit localStorage warnings on Node 26, fail gracefully when worker fails to start - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10293](https://github.com/vitest-dev/vitest/issues/10293) [<samp>(334ed)</samp>](https://github.com/vitest-dev/vitest/commit/334edef92) - Separate config resolution from the server creation - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10554](https://github.com/vitest-dev/vitest/issues/10554) [<samp>(1c0ec)</samp>](https://github.com/vitest-dev/vitest/commit/1c0ec3444) - Inline projects extend the root config by default - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10750](https://github.com/vitest-dev/vitest/issues/10750) [<samp>(fec00)</samp>](https://github.com/vitest-dev/vitest/commit/fec001ad3) - Enable mocking Temporal without fake timers - by [@​fabon-f](https://github.com/fabon-f), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10757](https://github.com/vitest-dev/vitest/issues/10757) [<samp>(ac2d4)</samp>](https://github.com/vitest-dev/vitest/commit/ac2d46b42) - Support nested projects - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10846](https://github.com/vitest-dev/vitest/issues/10846) [<samp>(ec367)</samp>](https://github.com/vitest-dev/vitest/commit/ec367cf2a) - Use `>` as separator in `-t`, calculate `only` once - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10686](https://github.com/vitest-dev/vitest/issues/10686) [<samp>(a0b20)</samp>](https://github.com/vitest-dev/vitest/commit/a0b20bc86) - Fail the test when an asynchronous assertion is not awaited - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10868](https://github.com/vitest-dev/vitest/issues/10868) [<samp>(86d4a)</samp>](https://github.com/vitest-dev/vitest/commit/86d4a9da9) - Share the Vite server between inline projects - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10848](https://github.com/vitest-dev/vitest/issues/10848) [<samp>(d87c9)</samp>](https://github.com/vitest-dev/vitest/commit/d87c96ee4) - Parse files statically in vitest list by default - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11088](https://github.com/vitest-dev/vitest/issues/11088) [<samp>(51e94)</samp>](https://github.com/vitest-dev/vitest/commit/51e949416) - **benchmark**: - Rewrite the public API - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10113](https://github.com/vitest-dev/vitest/issues/10113) [<samp>(19f6e)</samp>](https://github.com/vitest-dev/vitest/commit/19f6e8947) - **browser**: - Iframe scale - by [@​macarie](https://github.com/macarie) in [#​9745](https://github.com/vitest-dev/vitest/issues/9745) [<samp>(b6398)</samp>](https://github.com/vitest-dev/vitest/commit/b639852cc) - Enable `locators.exact` by default - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10430](https://github.com/vitest-dev/vitest/issues/10430) [<samp>(e2032)</samp>](https://github.com/vitest-dev/vitest/commit/e203202f9) - Require `sessionId` for orchestrator html request - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenAI Codex** in [#​10522](https://github.com/vitest-dev/vitest/issues/10522) [<samp>(79b7d)</samp>](https://github.com/vitest-dev/vitest/commit/79b7d8fcc) - Save failure screenshots in `attachmentsDir` - by [@​macarie](https://github.com/macarie) in [#​10917](https://github.com/vitest-dev/vitest/issues/10917) [<samp>(3b5bb)</samp>](https://github.com/vitest-dev/vitest/commit/3b5bbd8b4) - **coverage**: - `include/exclude` globs too eager - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9818](https://github.com/vitest-dev/vitest/issues/9818) [<samp>(edacb)</samp>](https://github.com/vitest-dev/vitest/commit/edacb0fd4) - Allow `thresholds.perFile` to accept an object - by [@​vladlenskiy](https://github.com/vladlenskiy) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10190](https://github.com/vitest-dev/vitest/issues/10190) [<samp>(13b78)</samp>](https://github.com/vitest-dev/vitest/commit/13b78d98b) - **expect**: - Fix `toThrow("")` behavior by reverting [#​6710](https://github.com/vitest-dev/vitest/issues/6710) - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9643](https://github.com/vitest-dev/vitest/issues/9643) and [#​6710](https://github.com/vitest-dev/vitest/issues/6710) [<samp>(6c3e4)</samp>](https://github.com/vitest-dev/vitest/commit/6c3e4bdbf) - **mocker**: - Deserialize automock as automock - by [@​nami8824](https://github.com/nami8824) in [#​10192](https://github.com/vitest-dev/vitest/issues/10192) [<samp>(2f892)</samp>](https://github.com/vitest-dev/vitest/commit/2f892712d) - **reporters**: - `blob` reporter and `--merge-reports` default to `.vitest/blob/` - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10232](https://github.com/vitest-dev/vitest/issues/10232) [<samp>(d22b0)</samp>](https://github.com/vitest-dev/vitest/commit/d22b029ae) - Write json and junit reporter output files to `.vitest` by default - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa**, **OpenCode (gpt-5.6-sol)** and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10621](https://github.com/vitest-dev/vitest/issues/10621) [<samp>(58577)</samp>](https://github.com/vitest-dev/vitest/commit/58577290a) - **spy**: - Preserve class mock prototype methods on instances - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10910](https://github.com/vitest-dev/vitest/issues/10910) [<samp>(6093d)</samp>](https://github.com/vitest-dev/vitest/commit/6093d764a) - **types**: - Add better promise support in expects and matchers - by [@​samchungy](https://github.com/samchungy) and [@​sheremet-va](https://github.com/sheremet-va) in [#​8266](https://github.com/vitest-dev/vitest/issues/8266) [<samp>(41f55)</samp>](https://github.com/vitest-dev/vitest/commit/41f551bce) - **ui**: - Harden UI API access - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenAI Codex** in [#​10583](https://github.com/vitest-dev/vitest/issues/10583) [<samp>(4c26d)</samp>](https://github.com/vitest-dev/vitest/commit/4c26d7675) - Change html reporter default output to `.vitest` - by [@​hi-ogawa](https://github.com/hi-ogawa) and **Hiroshi Ogawa** in [#​10620](https://github.com/vitest-dev/vitest/issues/10620) [<samp>(29c36)</samp>](https://github.com/vitest-dev/vitest/commit/29c364d50) ##### 🚀 Features - Add `createReport` and `.vitest` report directory convention - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9993](https://github.com/vitest-dev/vitest/issues/9993) [<samp>(72a6d)</samp>](https://github.com/vitest-dev/vitest/commit/72a6dc257) - Expose default reporters through `configDefaults.reporters` - by [@​hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 5 (1M context)** in [#​10219](https://github.com/vitest-dev/vitest/issues/10219) [<samp>(083f6)</samp>](https://github.com/vitest-dev/vitest/commit/083f6bdd6) - Support merge reports for non-sharded multi-environment runs (take 2) - by [@​hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 5 (1M context)**, **OpenAI Codex** and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10031](https://github.com/vitest-dev/vitest/issues/10031) [<samp>(e60b2)</samp>](https://github.com/vitest-dev/vitest/commit/e60b2f49e) - Add `logger.formatError` - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10268](https://github.com/vitest-dev/vitest/issues/10268) [<samp>(2c5f3)</samp>](https://github.com/vitest-dev/vitest/commit/2c5f3ee2f) - Support typescript build mode - by [@​lishaduck](https://github.com/lishaduck) in [#​9870](https://github.com/vitest-dev/vitest/issues/9870) [<samp>(106da)</samp>](https://github.com/vitest-dev/vitest/commit/106da5896) - Add toggable `injectCjsGlobals` option - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10709](https://github.com/vitest-dev/vitest/issues/10709) [<samp>(82671)</samp>](https://github.com/vitest-dev/vitest/commit/826714ece) - Promote fsModuleCache to a top-level option - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10734](https://github.com/vitest-dev/vitest/issues/10734) [<samp>(78ed7)</samp>](https://github.com/vitest-dev/vitest/commit/78ed73afd) - Support non-ascii characters in `for/each` title placeholders - by [@​k-yle](https://github.com/k-yle) in [#​10773](https://github.com/vitest-dev/vitest/issues/10773) [<samp>(15e0a)</samp>](https://github.com/vitest-dev/vitest/commit/15e0af953) - Report the duration breakdown as percentages - by [@​sheremet-va](https://github.com/sheremet-va) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10820](https://github.com/vitest-dev/vitest/issues/10820) [<samp>(c67d2)</samp>](https://github.com/vitest-dev/vitest/commit/c67d296f4) - Promote parseSpecifications out of experimental - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11087](https://github.com/vitest-dev/vitest/issues/11087) [<samp>(b628c)</samp>](https://github.com/vitest-dev/vitest/commit/b628cb680) - Promote clearCache out of experimental - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11086](https://github.com/vitest-dev/vitest/issues/11086) [<samp>(d4fe1)</samp>](https://github.com/vitest-dev/vitest/commit/d4fe1986f) - **api**: - Expose logs recorded during the test - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10277](https://github.com/vitest-dev/vitest/issues/10277) [<samp>(cba20)</samp>](https://github.com/vitest-dev/vitest/commit/cba2036a1) - **benchmark**: - Add pluggable benchmark provider API - by [@​GuillaumeLagrange](https://github.com/GuillaumeLagrange) and [@​sheremet-va](https://github.com/sheremet-va) in [#​10799](https://github.com/vitest-dev/vitest/issues/10799) [<samp>(86c70)</samp>](https://github.com/vitest-dev/vitest/commit/86c700ed8) - **browser**: - Export aria tree utils - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10171](https://github.com/vitest-dev/vitest/issues/10171) [<samp>(c3423)</samp>](https://github.com/vitest-dev/vitest/commit/c3423014c) - Support dom snapshot trace view - by [@​hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 5 (1M context)** and **OpenAI Codex** in [#​10102](https://github.com/vitest-dev/vitest/issues/10102) [<samp>(7eddd)</samp>](https://github.com/vitest-dev/vitest/commit/7eddd273d) - Provide project reference in `ToMatchScreenshotResolvePath` - by [@​macarie](https://github.com/macarie) and [@​sheremet-va](https://github.com/sheremet-va) in [#​10138](https://github.com/vitest-dev/vitest/issues/10138) [<samp>(16654)</samp>](https://github.com/vitest-dev/vitest/commit/166544e39) - Show aria tree on locator element error - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10257](https://github.com/vitest-dev/vitest/issues/10257) [<samp>(04f04)</samp>](https://github.com/vitest-dev/vitest/commit/04f04cdd1) - Support custom `kind` in `page.mark` - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10302](https://github.com/vitest-dev/vitest/issues/10302) [<samp>(053e8)</samp>](https://github.com/vitest-dev/vitest/commit/053e8b0d1) - Live update trace view on watch UI - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10296](https://github.com/vitest-dev/vitest/issues/10296) [<samp>(78c11)</samp>](https://github.com/vitest-dev/vitest/commit/78c1169cf) - Add `context.mark` for custom command tracing - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10329](https://github.com/vitest-dev/vitest/issues/10329) [<samp>(aa514)</samp>](https://github.com/vitest-dev/vitest/commit/aa5140e76) - Show trace view steps in editor panel - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10404](https://github.com/vitest-dev/vitest/issues/10404) [<samp>(8c4b6)</samp>](https://github.com/vitest-dev/vitest/commit/8c4b6da02) - Display nested mark trace in UI - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenAI Codex** in [#​10437](https://github.com/vitest-dev/vitest/issues/10437) [<samp>(86ffc)</samp>](https://github.com/vitest-dev/vitest/commit/86ffc8ac6) - **cli**: - Add `--repeats` CLI option - by [@​todor-a](https://github.com/todor-a) in [#​10504](https://github.com/vitest-dev/vitest/issues/10504) [<samp>(ee48b)</samp>](https://github.com/vitest-dev/vitest/commit/ee48b959e) - Support -p shorthand for --project - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10826](https://github.com/vitest-dev/vitest/issues/10826) [<samp>(1addd)</samp>](https://github.com/vitest-dev/vitest/commit/1adddde12) - **coverage**: - V8 to track `node:child_process` and `node:worker_threads` contexts - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9976](https://github.com/vitest-dev/vitest/issues/9976) [<samp>(9baa5)</samp>](https://github.com/vitest-dev/vitest/commit/9baa5faba) - `thresholds.autoUpdate` to receive previous threshold as argument - by [@​wouterkroes](https://github.com/wouterkroes) in [#​10495](https://github.com/vitest-dev/vitest/issues/10495) [<samp>(04f81)</samp>](https://github.com/vitest-dev/vitest/commit/04f81854f) - Switch to `@vitest/istanbuljs` packages - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​11053](https://github.com/vitest-dev/vitest/issues/11053) [<samp>(5f6a5)</samp>](https://github.com/vitest-dev/vitest/commit/5f6a5e84a) - **junit-reporter**: - Add jest-junit-compatible naming options - by [@​neumaennl](https://github.com/neumaennl), **neumaennl**, **Martin Neumann** and **Copilot** in [#​10189](https://github.com/vitest-dev/vitest/issues/10189) [<samp>(27393)</samp>](https://github.com/vitest-dev/vitest/commit/273933440) - **reporter**: - Support html reporter single file output - by [@​hi-ogawa](https://github.com/hi-ogawa), **OpenAI Codex** and **Claude Opus 5 (1M context)** in [#​10235](https://github.com/vitest-dev/vitest/issues/10235) [<samp>(f757e)</samp>](https://github.com/vitest-dev/vitest/commit/f757ec5e6) - Add custom GitHub Actions summary title - by [@​heyJonBray](https://github.com/heyJonBray) and [@​macarie](https://github.com/macarie) in [#​10891](https://github.com/vitest-dev/vitest/issues/10891) [<samp>(4363c)</samp>](https://github.com/vitest-dev/vitest/commit/4363cdb49) - **ui**: - Highlight editor source locations - by [@​sheremet-va](https://github.com/sheremet-va), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​11004](https://github.com/vitest-dev/vitest/issues/11004) [<samp>(bce2d)</samp>](https://github.com/vitest-dev/vitest/commit/bce2d3c2f) - Navigate trace steps with keyboard and remove indirect editor focus - by [@​sheremet-va](https://github.com/sheremet-va), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​11005](https://github.com/vitest-dev/vitest/issues/11005) [<samp>(6816f)</samp>](https://github.com/vitest-dev/vitest/commit/6816f3b17) - Persist trace view selection in URL - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10981](https://github.com/vitest-dev/vitest/issues/10981) [<samp>(3069e)</samp>](https://github.com/vitest-dev/vitest/commit/3069e5927) - Toggle trace target highlight - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​11049](https://github.com/vitest-dev/vitest/issues/11049) [<samp>(cd63e)</samp>](https://github.com/vitest-dev/vitest/commit/cd63e9e43) - Add link to open playwright trace - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​11059](https://github.com/vitest-dev/vitest/issues/11059) [<samp>(58f02)</samp>](https://github.com/vitest-dev/vitest/commit/58f02ae36) - **vitest**: - Create `vi.when()` - by [@​macarie](https://github.com/macarie) in [#​10174](https://github.com/vitest-dev/vitest/issues/10174) [<samp>(3900e)</samp>](https://github.com/vitest-dev/vitest/commit/3900e6349) - **vm**: - Support `require(esm)` in vm pools - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10829](https://github.com/vitest-dev/vitest/issues/10829) [<samp>(01298)</samp>](https://github.com/vitest-dev/vitest/commit/01298e5b3) ##### 🐞 Bug Fixes - Global `sequence.concurrent: true` with top-level `test(..., { concurrent: false })` + depreacte `sequential` test API and options - by [@​hi-ogawa](https://github.com/hi-ogawa), **OpenAI Codex** and [@​sheremet-va](https://github.com/sheremet-va) in [#​10194](https://github.com/vitest-dev/vitest/issues/10194) [<samp>(9387f)</samp>](https://github.com/vitest-dev/vitest/commit/9387f57cf) - Test `tags` options should overwrite inherited suite options + inherit suite options in `task` API - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10216](https://github.com/vitest-dev/vitest/issues/10216) [<samp>(457db)</samp>](https://github.com/vitest-dev/vitest/commit/457db297b) - Udpate optimize deps config - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10223](https://github.com/vitest-dev/vitest/issues/10223) [<samp>(95dc6)</samp>](https://github.com/vitest-dev/vitest/commit/95dc6e3f1) - Shell injection safety via github.ref\_name in publish workflow - by [@​lloyd-c137](https://github.com/lloyd-c137) and **lloyd-c137** in [#​10327](https://github.com/vitest-dev/vitest/issues/10327) [<samp>(dd020)</samp>](https://github.com/vitest-dev/vitest/commit/dd0207f4d) - Make `attachmentsDir` root only config - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10334](https://github.com/vitest-dev/vitest/issues/10334) [<samp>(fab1b)</samp>](https://github.com/vitest-dev/vitest/commit/fab1b6020) - Apply cjs interop for truthy `__esModule` - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10363](https://github.com/vitest-dev/vitest/issues/10363) [<samp>(2b135)</samp>](https://github.com/vitest-dev/vitest/commit/2b13547a5) - Preserve `vi.defineHelper` callsite for async error stack - by [@​macayu17](https://github.com/macayu17) and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10415](https://github.com/vitest-dev/vitest/issues/10415) [<samp>(ac697)</samp>](https://github.com/vitest-dev/vitest/commit/ac6971ca2) - Respect `disableConsoleIntercept` in browser mode - by [@​Copilot](https://github.com/Copilot), **Hiroshi Ogawa**, [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10391](https://github.com/vitest-dev/vitest/issues/10391) [<samp>(66110)</samp>](https://github.com/vitest-dev/vitest/commit/66110d271) - ForceRerunTriggers uses directory globs against files - by [@​Patrick-Clausen](https://github.com/Patrick-Clausen) and **Patrick Clausen** in [#​10421](https://github.com/vitest-dev/vitest/issues/10421) and [#​10420](https://github.com/vitest-dev/vitest/issues/10420) [<samp>(4fee2)</samp>](https://github.com/vitest-dev/vitest/commit/4fee2e303) - Unify typechecking and ast collection - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10449](https://github.com/vitest-dev/vitest/issues/10449) [<samp>(af993)</samp>](https://github.com/vitest-dev/vitest/commit/af993b66b) - Don't print typecheck warning more than once - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10461](https://github.com/vitest-dev/vitest/issues/10461) [<samp>(15275)</samp>](https://github.com/vitest-dev/vitest/commit/152750ec0) - Correct collumn when parsing tests - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10467](https://github.com/vitest-dev/vitest/issues/10467) [<samp>(7c2fc)</samp>](https://github.com/vitest-dev/vitest/commit/7c2fc133e) - Fix mixed stdout/stderr log timestamps in `onUserConsoleLog` - by [@​Copilot](https://github.com/Copilot), **Hiroshi Ogawa**, [@​hi-ogawa](https://github.com/hi-ogawa) and [@​sheremet-va](https://github.com/sheremet-va) in [#​10308](https://github.com/vitest-dev/vitest/issues/10308) [<samp>(62756)</samp>](https://github.com/vitest-dev/vitest/commit/627565475) - Fix `importOriginal` with optimizer and query import - by [@​davidxharris](https://github.com/davidxharris), **David Harris**, [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenAI Codex** in [#​10469](https://github.com/vitest-dev/vitest/issues/10469) [<samp>(6a3bb)</samp>](https://github.com/vitest-dev/vitest/commit/6a3bb02e0) - Correct transform time calculation in merged report - by [@​potatomatoooo](https://github.com/potatomatoooo) and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10570](https://github.com/vitest-dev/vitest/issues/10570) and [#​10578](https://github.com/vitest-dev/vitest/issues/10578) [<samp>(b7897)</samp>](https://github.com/vitest-dev/vitest/commit/b78972892) - Fix `setImmediate` await in detect-async-leak - by [@​hi-ogawa](https://github.com/hi-ogawa) and **Hiroshi Ogawa** in [#​10608](https://github.com/vitest-dev/vitest/issues/10608) [<samp>(dd62b)</samp>](https://github.com/vitest-dev/vitest/commit/dd62b84e0) - Fix per-project `sequence` config - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10659](https://github.com/vitest-dev/vitest/issues/10659) [<samp>(40cdc)</samp>](https://github.com/vitest-dev/vitest/commit/40cdc7fd6) - Add handshake timeout to iframe communication - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10656](https://github.com/vitest-dev/vitest/issues/10656) [<samp>(3545f)</samp>](https://github.com/vitest-dev/vitest/commit/3545fe78f) - Don't print column in test names when `includeTaskLocation` is enabled - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10681](https://github.com/vitest-dev/vitest/issues/10681) [<samp>(bd9cc)</samp>](https://github.com/vitest-dev/vitest/commit/bd9cc9d8d) - Disable server HMR before plugins read it in their config hook - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10731](https://github.com/vitest-dev/vitest/issues/10731) [<samp>(e060b)</samp>](https://github.com/vitest-dev/vitest/commit/e060b8fa9) - Close the pool before the Vite servers - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10725](https://github.com/vitest-dev/vitest/issues/10725) [<samp>(96fa6)</samp>](https://github.com/vitest-dev/vitest/commit/96fa6d73d) - Remove listeners in the typecheck worker's `off` - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10741](https://github.com/vitest-dev/vitest/issues/10741) [<samp>(d758b)</samp>](https://github.com/vitest-dev/vitest/commit/d758b4755) - Keep per-file isolation in vm pools when maxWorkers is 1 - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10743](https://github.com/vitest-dev/vitest/issues/10743) [<samp>(83ab9)</samp>](https://github.com/vitest-dev/vitest/commit/83ab9a44f) - Node.js 20 deprecation warning for `ci.yml` - by [@​hirehamir](https://github.com/hirehamir) in [#​10759](https://github.com/vitest-dev/vitest/issues/10759) [<samp>(2127f)</samp>](https://github.com/vitest-dev/vitest/commit/2127fa6ce) - Prevent node builtins double prefix - by [@​malobre](https://github.com/malobre) in [#​10630](https://github.com/vitest-dev/vitest/issues/10630) and [#​10767](https://github.com/vitest-dev/vitest/issues/10767) [<samp>(22d35)</samp>](https://github.com/vitest-dev/vitest/commit/22d353a80) - Set non-zero exit code when teardown throws during close - by [@​zakcutner](https://github.com/zakcutner) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10794](https://github.com/vitest-dev/vitest/issues/10794) [<samp>(22116)</samp>](https://github.com/vitest-dev/vitest/commit/22116feb7) - Don't race the typechecker spawn grace period on windows - by [@​xevrion](https://github.com/xevrion) in [#​10814](https://github.com/vitest-dev/vitest/issues/10814) [<samp>(b19e5)</samp>](https://github.com/vitest-dev/vitest/commit/b19e5ece9) - Coalesce concurrent watch-mode restarts, deflake the pool stderr fixture - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10822](https://github.com/vitest-dev/vitest/issues/10822) [<samp>(a31f8)</samp>](https://github.com/vitest-dev/vitest/commit/a31f86af7) - Prevent `vitest --typecheck` from reporting a false success when the `tsc` process crashes - by [@​hitenkalda](https://github.com/hitenkalda) and **Hiten Kalda** in [#​10705](https://github.com/vitest-dev/vitest/issues/10705) [<samp>(a1b05)</samp>](https://github.com/vitest-dev/vitest/commit/a1b0565c9) - Collect in-source tests when the module is cached - by [@​koutaro-masaki](https://github.com/koutaro-masaki) in [#​10577](https://github.com/vitest-dev/vitest/issues/10577) and [#​10589](https://github.com/vitest-dev/vitest/issues/10589) [<samp>(a7bf2)</samp>](https://github.com/vitest-dev/vitest/commit/a7bf2b2c8) - Swap replace() arguments so timeout error stack shows the real message - by [@​lazerg](https://github.com/lazerg) in [#​10875](https://github.com/vitest-dev/vitest/issues/10875) [<samp>(aba0f)</samp>](https://github.com/vitest-dev/vitest/commit/aba0f9b7b) - Stale mock metadata breaks automocking with isolate:false - by [@​kade-robertson](https://github.com/kade-robertson) in [#​10145](https://github.com/vitest-dev/vitest/issues/10145) and [#​10541](https://github.com/vitest-dev/vitest/issues/10541) [<samp>(8e210)</samp>](https://github.com/vitest-dev/vitest/commit/8e2108dda) - Don't lose worker output on teardown, deflake timing-sensitive tests - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10842](https://github.com/vitest-dev/vitest/issues/10842) [<samp>(1216b)</samp>](https://github.com/vitest-dev/vitest/commit/1216b5af9) - Revive global concurrency limit for test lifecycle - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa**, **OpenCode (gpt-5.6-sol)** and [@​sheremet-va](https://github.com/sheremet-va) in [#​10928](https://github.com/vitest-dev/vitest/issues/10928) [<samp>(cf917)</samp>](https://github.com/vitest-dev/vitest/commit/cf9176bfc) - Own the post-restart rerun, keep `process.exit` disabled in workers - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10963](https://github.com/vitest-dev/vitest/issues/10963) [<samp>(5e69a)</samp>](https://github.com/vitest-dev/vitest/commit/5e69aba65) - Preserve correct root during resolve config - by [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​10909](https://github.com/vitest-dev/vitest/issues/10909) [<samp>(210ba)</samp>](https://github.com/vitest-dev/vitest/commit/210ba00cb) - Combine multiple --project filters correctly - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10988](https://github.com/vitest-dev/vitest/issues/10988) [<samp>(66c1c)</samp>](https://github.com/vitest-dev/vitest/commit/66c1cbb53) - Fix `recordArtifact` location with `vi.defineHelper` - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​11047](https://github.com/vitest-dev/vitest/issues/11047) [<samp>(c2186)</samp>](https://github.com/vitest-dev/vitest/commit/c21865dfd) - Invalidate resolved setup files - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11073](https://github.com/vitest-dev/vitest/issues/11073) and [#​11081](https://github.com/vitest-dev/vitest/issues/11081) [<samp>(488c0)</samp>](https://github.com/vitest-dev/vitest/commit/488c04680) - Accept awaited value in vi.when thenResolve - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11084](https://github.com/vitest-dev/vitest/issues/11084) [<samp>(c10a1)</samp>](https://github.com/vitest-dev/vitest/commit/c10a12900) - Ignore computed member calls in static collection - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11085](https://github.com/vitest-dev/vitest/issues/11085) [<samp>(130f7)</samp>](https://github.com/vitest-dev/vitest/commit/130f79b8b) - Don't duplicte `oxc.target` if user provides a custom array - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11095](https://github.com/vitest-dev/vitest/issues/11095) [<samp>(848d7)</samp>](https://github.com/vitest-dev/vitest/commit/848d7243e) - Propagate --maxWorkers to projects - by [@​Gaurav1112](https://github.com/Gaurav1112) in [#​11102](https://github.com/vitest-dev/vitest/issues/11102) [<samp>(2122f)</samp>](https://github.com/vitest-dev/vitest/commit/2122ffdfb) - Apply queued mocks from doMock() in queue order - by [@​juliandescottes](https://github.com/juliandescottes) and **Claude Opus 5 (1M context)** in [#​10706](https://github.com/vitest-dev/vitest/issues/10706) and [#​11127](https://github.com/vitest-dev/vitest/issues/11127) [<samp>(f08ce)</samp>](https://github.com/vitest-dev/vitest/commit/f08ce4b71) - Add a warning if inline project has duplicate plugins due to unexpected `extends: true` - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11120](https://github.com/vitest-dev/vitest/issues/11120) [<samp>(584cf)</samp>](https://github.com/vitest-dev/vitest/commit/584cf3084) - Treat test.describe as a suite during static collection - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11128](https://github.com/vitest-dev/vitest/issues/11128) [<samp>(d46a7)</samp>](https://github.com/vitest-dev/vitest/commit/d46a74722) - **browser**: - Fix trace highlight of shadow dom on webdriverio - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10227](https://github.com/vitest-dev/vitest/issues/10227) [<samp>(b01af)</samp>](https://github.com/vitest-dev/vitest/commit/b01afd26c) - Simplify orchestrator otel carrier - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10283](https://github.com/vitest-dev/vitest/issues/10283) [<samp>(3514f)</samp>](https://github.com/vitest-dev/vitest/commit/3514f9fa1) - Remove orphaned Playwright route when same module is mocked via multiple ids - by [@​Zelys-DFKH](https://github.com/Zelys-DFKH) in [#​9957](https://github.com/vitest-dev/vitest/issues/9957) and [#​10267](https://github.com/vitest-dev/vitest/issues/10267) [<samp>(41db6)</samp>](https://github.com/vitest-dev/vitest/commit/41db6ce28) - Skip `wrapDynamicImport` transform on ssr environment - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10355](https://github.com/vitest-dev/vitest/issues/10355) [<samp>(d3c96)</samp>](https://github.com/vitest-dev/vitest/commit/d3c964bfc) - Fix stale source map on watch mode - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10389](https://github.com/vitest-dev/vitest/issues/10389) [<samp>(6d772)</samp>](https://github.com/vitest-dev/vitest/commit/6d772c800) - Escape inline orchestrator scripts - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10412](https://github.com/vitest-dev/vitest/issues/10412) [<samp>(c22cf)</samp>](https://github.com/vitest-dev/vitest/commit/c22cfb656) - Disable client `cdp` API when `allowWrite/allowExec: false` - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10444](https://github.com/vitest-dev/vitest/issues/10444) [<samp>(63e3b)</samp>](https://github.com/vitest-dev/vitest/commit/63e3b2eee) - Wait for orchestrator readiness before resolving browser sessions - by [@​soconnor-seeq](https://github.com/soconnor-seeq) in [#​10397](https://github.com/vitest-dev/vitest/issues/10397) [<samp>(fe5ed)</samp>](https://github.com/vitest-dev/vitest/commit/fe5ed6bc7) - Wait for iframe tester readiness before preparing - by [@​soconnor-seeq](https://github.com/soconnor-seeq) in [#​10497](https://github.com/vitest-dev/vitest/issues/10497) [<samp>(f2655)</samp>](https://github.com/vitest-dev/vitest/commit/f26552c63) - Encode iframeId in tester iframe URL - by [@​Pduhard](https://github.com/Pduhard), **Pduhard** and **Claude Opus 5 (1M context)** in [#​10520](https://github.com/vitest-dev/vitest/issues/10520) and [#​10521](https://github.com/vitest-dev/vitest/issues/10521) [<samp>(c8bf1)</samp>](https://github.com/vitest-dev/vitest/commit/c8bf19f66) - Always derive a positive locator action timeout - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10626](https://github.com/vitest-dev/vitest/issues/10626) [<samp>(5b864)</samp>](https://github.com/vitest-dev/vitest/commit/5b8642120) - Resize the browser ui only if it's not headless - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10662](https://github.com/vitest-dev/vitest/issues/10662) [<samp>(b5c61)</samp>](https://github.com/vitest-dev/vitest/commit/b5c613051) - Check fs access in builtin commands - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10674](https://github.com/vitest-dev/vitest/issues/10674) [<samp>(33f96)</samp>](https://github.com/vitest-dev/vitest/commit/33f96a145) - Preserve pre-transform request defaults - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10748](https://github.com/vitest-dev/vitest/issues/10748) [<samp>(b6060)</samp>](https://github.com/vitest-dev/vitest/commit/b60605ca7) - Fix error stacktrace location off-by-one - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10724](https://github.com/vitest-dev/vitest/issues/10724) [<samp>(62b8d)</samp>](https://github.com/vitest-dev/vitest/commit/62b8d3b36) - Inlined awaited import should not trigger syntax error after transform - by [@​smeng9](https://github.com/smeng9), **Shaoyu Meng** and **Claude Opus 5 (1M context)** in [#​10784](https://github.com/vitest-dev/vitest/issues/10784) [<samp>(51acd)</samp>](https://github.com/vitest-dev/vitest/commit/51acd5778) - Mock window\.print to avoid hanging - by [@​aaravjaichand](https://github.com/aaravjaichand) in [#​7375](https://github.com/vitest-dev/vitest/issues/7375) and [#​10798](https://github.com/vitest-dev/vitest/issues/10798) [<samp>(66d95)</samp>](https://github.com/vitest-dev/vitest/commit/66d95af84) - Ignore channel events in a tester opened as a top-level window - by [@​simshanith](https://github.com/simshanith) in [#​9379](https://github.com/vitest-dev/vitest/issues/9379) and [#​9381](https://github.com/vitest-dev/vitest/issues/9381) [<samp>(46a3c)</samp>](https://github.com/vitest-dev/vitest/commit/46a3cf750) - Resolve `connectTimeout` from the project config - by [@​lazerg](https://github.com/lazerg) in [#​10879](https://github.com/vitest-dev/vitest/issues/10879) and [#​10880](https://github.com/vitest-dev/vitest/issues/10880) [<samp>(62c79)</samp>](https://github.com/vitest-dev/vitest/commit/62c795d63) - Prebundle vite module runner with vitest - by [@​lebovvskii](https://github.com/lebovvskii) and [@​sheremet-va](https://github.com/sheremet-va) in [#​10836](https://github.com/vitest-dev/vitest/issues/10836) and [#​10856](https://github.com/vitest-dev/vitest/issues/10856) [<samp>(37c24)</samp>](https://github.com/vitest-dev/vitest/commit/37c240158) - Restore dependency reload warning - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10913](https://github.com/vitest-dev/vitest/issues/10913) [<samp>(90d69)</samp>](https://github.com/vitest-dev/vitest/commit/90d696d44) - Configure internal optimizer dependencies - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10915](https://github.com/vitest-dev/vitest/issues/10915) [<samp>(a72f4)</samp>](https://github.com/vitest-dev/vitest/commit/a72f46eac) - Trigger playwright/chromium gc on lower disk availability - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10912](https://github.com/vitest-dev/vitest/issues/10912) [<samp>(032d3)</samp>](https://github.com/vitest-dev/vitest/commit/032d31892) - Disallow filter-only options in getBy\* locators - by **Arjun** in [#​10295](https://github.com/vitest-dev/vitest/issues/10295) and [#​10933](https://github.com/vitest-dev/vitest/issues/10933) [<samp>(9b4df)</samp>](https://github.com/vitest-dev/vitest/commit/9b4df4b05) - Fail instead of hanging when the browser stops responding - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10956](https://github.com/vitest-dev/vitest/issues/10956) [<samp>(c496c)</samp>](https://github.com/vitest-dev/vitest/commit/c496c2e33) - Exit gracefully when the browser disconnects during cancellation - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10962](https://github.com/vitest-dev/vitest/issues/10962) [<samp>(67e84)</samp>](https://github.com/vitest-dev/vitest/commit/67e848564) - Don't redirect vitest in client environment - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10975](https://github.com/vitest-dev/vitest/issues/10975) [<samp>(aeb67)</samp>](https://github.com/vitest-dev/vitest/commit/aeb672095) - Don't hang when `ui: true` in projects - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10994](https://github.com/vitest-dev/vitest/issues/10994) [<samp>(9f710)</samp>](https://github.com/vitest-dev/vitest/commit/9f710d304) - Preserve trace popover state - by [@​liuluochen6-af](https://github.com/liuluochen6-af), **Hiroshi Ogawa**, **OpenCode (gpt-5.6-sol)** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10906](https://github.com/vitest-dev/vitest/issues/10906) and [#​11021](https://github.com/vitest-dev/vitest/issues/11021) [<samp>(1bbc2)</samp>](https://github.com/vitest-dev/vitest/commit/1bbc278c2) - Report the action error when a task times out - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11101](https://github.com/vitest-dev/vitest/issues/11101) [<samp>(dc10f)</samp>](https://github.com/vitest-dev/vitest/commit/dc10f5f8f) - **cache**: - Improve `fsModuleCache` resiliency during external modifications - by [@​jszumski](https://github.com/jszumski) in [#​10869](https://github.com/vitest-dev/vitest/issues/10869) [<samp>(5eb35)</samp>](https://github.com/vitest-dev/vitest/commit/5eb3570e8) - **cli**: - Respect `FORCE_COLOR` over agent detection - by [@​dokson](https://github.com/dokson) in [#​10272](https://github.com/vitest-dev/vitest/issues/10272) [<samp>(7e66b)</samp>](https://github.com/vitest-dev/vitest/commit/7e66bc726) - Exit on `CTRL+c` even when `globalSetup` runs blocked code - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10863](https://github.com/vitest-dev/vitest/issues/10863) [<samp>(d568f)</samp>](https://github.com/vitest-dev/vitest/commit/d568f8ce3) - **coverage**: - `exclude` to not inherit negation globs from `test.include` - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10299](https://github.com/vitest-dev/vitest/issues/10299) [<samp>(28685)</samp>](https://github.com/vitest-dev/vitest/commit/286851ea2) - Avoid matching sibling project roots - by [@​innoprej](https://github.com/innoprej), **Shin JaeHee** and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10311](https://github.com/vitest-dev/vitest/issues/10311) [<samp>(e30dd)</samp>](https://github.com/vitest-dev/vitest/commit/e30dd9cf6) - Non-awaited module imports cause wrong offsets - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10643](https://github.com/vitest-dev/vitest/issues/10643) [<samp>(c4090)</samp>](https://github.com/vitest-dev/vitest/commit/c40901479) - Fail fast when `coverage.reportsDirectory` conflicts between concurrent runs - by [@​jgamaraalv](https://github.com/jgamaraalv) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10466](https://github.com/vitest-dev/vitest/issues/10466) [<samp>(833f0)</samp>](https://github.com/vitest-dev/vitest/commit/833f0936c) - V8 to ignore Vite SSR's generated import bindings - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​11023](https://github.com/vitest-dev/vitest/issues/11023) [<samp>(c6174)</samp>](https://github.com/vitest-dev/vitest/commit/c6174a6cf) - Prevent crash on `/@fs/` prepended virtual files - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​11119](https://github.com/vitest-dev/vitest/issues/11119) [<samp>(c4473)</samp>](https://github.com/vitest-dev/vitest/commit/c4473e48e) - **deps**: - Update ivya to fix empty aria tree snapshot - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10218](https://github.com/vitest-dev/vitest/issues/10218) [<samp>(f7822)</samp>](https://github.com/vitest-dev/vitest/commit/f7822ebf6) - Update fake-timers to 15.3.2. support `toNotFake` - by [@​BPScott](https://github.com/BPScott), [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10043](https://github.com/vitest-dev/vitest/issues/10043) [<samp>(bbf2f)</samp>](https://github.com/vitest-dev/vitest/commit/bbf2f0df3) - Update all non-major dependencies - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9958](https://github.com/vitest-dev/vitest/issues/9958) [<samp>(7faa7)</samp>](https://github.com/vitest-dev/vitest/commit/7faa7b04a) - Update all non-major dependencies - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10861](https://github.com/vitest-dev/vitest/issues/10861) [<samp>(0188c)</samp>](https://github.com/vitest-dev/vitest/commit/0188c8135) - Update all non-major dependencies - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10898](https://github.com/vitest-dev/vitest/issues/10898) [<samp>(61c4b)</samp>](https://github.com/vitest-dev/vitest/commit/61c4b8024) - Update all non-major dependencies - in [#​10966](https://github.com/vitest-dev/vitest/issues/10966) [<samp>(65263)</samp>](https://github.com/vitest-dev/vitest/commit/65263d74e) - Update all non-major dependencies - in [#​11043](https://github.com/vitest-dev/vitest/issues/11043) [<samp>(732df)</samp>](https://github.com/vitest-dev/vitest/commit/732df2c2b) - **expect**: - Allow readonly arrays and sets in toBeOneOf - by [@​YBJ0000](https://github.com/YBJ0000) in [#​10264](https://github.com/vitest-dev/vitest/issues/10264) and [#​10374](https://github.com/vitest-dev/vitest/issues/10374) [<samp>(fed11)</samp>](https://github.com/vitest-dev/vitest/commit/fed1125b0) - Handle nullish toHaveProperty values - by [@​liyimil](https://github.com/liyimil) in [#​10735](https://github.com/vitest-dev/vitest/issues/10735) and [#​10811](https://github.com/vitest-dev/vitest/issues/10811) [<samp>(99e59)</samp>](https://github.com/vitest-dev/vitest/commit/99e596d33) - **junit**: - Include unhandled errors in JUnit XML report - by [@​gbleu](https://github.com/gbleu) and **Claude Opus 5 (1M context)** in [#​10244](https://github.com/vitest-dev/vitest/issues/10244) [<samp>(6f74e)</samp>](https://github.com/vitest-dev/vitest/commit/6f74e5e9d) - **mocker**: - Skip hoist transform without ast mock calls - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10410](https://github.com/vitest-dev/vitest/issues/10410) [<samp>(0468e)</samp>](https://github.com/vitest-dev/vitest/commit/0468e1572) - Hoist vi.mock() for vite-plus/test imports - by [@​Brooooooklyn](https://github.com/Brooooooklyn) and **Claude Opus 5 (1M context)** in [#​10489](https://github.com/vitest-dev/vitest/issues/10489) [<samp>(88376)</samp>](https://github.com/vitest-dev/vitest/commit/8837664a4) - Restrict redirect mocks to the fs allowlist - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10972](https://github.com/vitest-dev/vitest/issues/10972) [<samp>(8ff9b)</samp>](https://github.com/vitest-dev/vitest/commit/8ff9b9a9e) - **pool**: - Prevent test run hang on worker crash - by [@​jaxalo](https://github.com/jaxalo) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10543](https://github.com/vitest-dev/vitest/issues/10543) [<samp>(40878)</samp>](https://github.com/vitest-dev/vitest/commit/4087802b5) - Improve error message when worker exits unexpectedly - by [@​filmaj](https://github.com/filmaj) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10587](https://github.com/vitest-dev/vitest/issues/10587) [<samp>(76139)</samp>](https://github.com/vitest-dev/vitest/commit/76139c5a0) - Vm pools to respect cgroupsv2 memory limit - by [@​milas](https://github.com/milas) in [#​10721](https://github.com/vitest-dev/vitest/issues/10721) [<samp>(3923c)</samp>](https://github.com/vitest-dev/vitest/commit/3923cab3d) - Worker init to handle queued synchronous messages - by [@​lazerg](https://github.com/lazerg) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10932](https://github.com/vitest-dev/vitest/issues/10932) [<samp>(76096)</samp>](https://github.com/vitest-dev/vitest/commit/76096c769) - Report the worker exit instead of a pipe error that raced it - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10964](https://github.com/vitest-dev/vitest/issues/10964) [<samp>(59a03)</samp>](https://github.com/vitest-dev/vitest/commit/59a037354) - **reporter**: - Guard against non-finite slowTestThreshold in summary reporter - by [@​OfekDanny](https://github.com/OfekDanny), **Ofek Danny**, **Claude Opus 5 (1M context)** and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10202](https://github.com/vitest-dev/vitest/issues/10202) [<samp>(f362f)</samp>](https://github.com/vitest-dev/vitest/commit/f362f96db) - Fix non-existing import subpath module blob serialization - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10318](https://github.com/vitest-dev/vitest/issues/10318) [<samp>(29cb0)</samp>](https://github.com/vitest-dev/vitest/commit/29cb06b35) - **reporters**: - Fix blob file name with label - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10346](https://github.com/vitest-dev/vitest/issues/10346) [<samp>(c5e2e)</samp>](https://github.com/vitest-dev/vitest/commit/c5e2e7530) - `summary` to intercept logger's streams even when they are not `process.std*` streams - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10340](https://github.com/vitest-dev/vitest/issues/10340) [<samp>(f79e7)</samp>](https://github.com/vitest-dev/vitest/commit/f79e7db90) - Fix missing `testModules` in `onTestRunEnd` when merging blobs from different root directory test runs - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10348](https://github.com/vitest-dev/vitest/issues/10348) [<samp>(745b3)</samp>](https://github.com/vitest-dev/vitest/commit/745b30b64) - Print parent describe suites when the passed-test list is hidden - by [@​ChihebBENCHEIKH1](https://github.com/ChihebBENCHEIKH1), **Chiheb Bencheikh** and [@​sheremet-va](https://github.com/sheremet-va) in [#​10606](https://github.com/vitest-dev/vitest/issues/10606) and [#​10768](https://github.com/vitest-dev/vitest/issues/10768) [<samp>(658af)</samp>](https://github.com/vitest-dev/vitest/commit/658affeb3) - Display `test.name` in GitHub Actions reporter summary header - by [@​macarie](https://github.com/macarie) in [#​10887](https://github.com/vitest-dev/vitest/issues/10887) [<samp>(49e24)</samp>](https://github.com/vitest-dev/vitest/commit/49e24fa38) - **runner**: - Propagate chainable flags in describe.for - by [@​DoriAlagem](https://github.com/DoriAlagem), **Dor Alagem** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10187](https://github.com/vitest-dev/vitest/issues/10187) [<samp>(db678)</samp>](https://github.com/vitest-dev/vitest/commit/db67831d7) - Limit concurrency per task branch in addition to per leaf callbacks - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10179](https://github.com/vitest-dev/vitest/issues/10179) [<samp>(3112a)</samp>](https://github.com/vitest-dev/vitest/commit/3112abea2) - Remove AbortSignal listener leak in withCancel - by [@​tomohiro86](https://github.com/tomohiro86) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10265](https://github.com/vitest-dev/vitest/issues/10265) [<samp>(ab098)</samp>](https://github.com/vitest-dev/vitest/commit/ab09822a4) - Don't fail collection when accessing `error.stack` throws - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10839](https://github.com/vitest-dev/vitest/issues/10839) [<samp>(202e2)</samp>](https://github.com/vitest-dev/vitest/commit/202e27f3d) - **snapshot**: - Fail test when snapshot assertion is used with `test.fails` - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10090](https://github.com/vitest-dev/vitest/issues/10090) [<samp>(e1aa7)</samp>](https://github.com/vitest-dev/vitest/commit/e1aa7a60a) - Treat empty string as valid snapshot - by [@​mayrang](https://github.com/mayrang) and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10188](https://github.com/vitest-dev/vitest/issues/10188) [<samp>(e145d)</samp>](https://github.com/vitest-dev/vitest/commit/e145d5756) - Support no-unsafe-eval CSP by evaluating snapshot files on server - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10665](https://github.com/vitest-dev/vitest/issues/10665) [<samp>(667c1)</samp>](https://github.com/vitest-dev/vitest/commit/667c13954) - Reject when `toMatchFileSnapshot` uses same snapshot file as `toMatchSnapshot` - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa**, **OpenCode (gpt-5.6-sol)** and [@​sheremet-va](https://github.com/sheremet-va) in [#​10978](https://github.com/vitest-dev/vitest/issues/10978) [<samp>(17646)</samp>](https://github.com/vitest-dev/vitest/commit/17646ac72) - **spy**: - Support private method spy types - by [@​cyphercodes](https://github.com/cyphercodes) in [#​10172](https://github.com/vitest-dev/vitest/issues/10172) and [#​10213](https://github.com/vitest-dev/vitest/issues/10213) [<samp>(628ab)</samp>](https://github.com/vitest-dev/vitest/commit/628ab32f1) - Point ESM namespace spy error to module mocking docs - by [@​ryandiginomad](https://github.com/ryandiginomad) and **Ryan Tang** in [#​10707](https://github.com/vitest-dev/vitest/issues/10707) [<samp>(d6cec)</samp>](https://github.com/vitest-dev/vitest/commit/d6ceca9d7) - **typecheck**: - Report a checker crash on Windows instead of a spawn failure - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10907](https://github.com/vitest-dev/vitest/issues/10907) [<samp>(77aac)</samp>](https://github.com/vitest-dev/vitest/commit/77aac87dd) - **types**: - Allow `changed` in configuration options - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10651](https://github.com/vitest-dev/vitest/issues/10651) [<samp>(0da12)</samp>](https://github.com/vitest-dev/vitest/commit/0da12aad4) - **ui**: - Fix duplicate colored error message - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10258](https://github.com/vitest-dev/vitest/issues/10258) [<samp>(035e3)</samp>](https://github.com/vitest-dev/vitest/commit/035e3bb70) - Fix missing source code in html reporter metadata when merging blobs with different root directory test runs - by [@​hi-ogawa](https://github.com/hi-ogawa) and **OpenAI Codex** in [#​10338](https://github.com/vitest-dev/vitest/issues/10338) [<samp>(4f7c2)</samp>](https://github.com/vitest-dev/vitest/commit/4f7c2670c) - Fix module graph in browser mode with --ui - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10386](https://github.com/vitest-dev/vitest/issues/10386) [<samp>(3003c)</samp>](https://github.com/vitest-dev/vitest/commit/3003c4327) - Render ANSI color codes in editor panel inline error widget - by [@​Copilot](https://github.com/Copilot), **Hiroshi Ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10418](https://github.com/vitest-dev/vitest/issues/10418) [<samp>(766b8)</samp>](https://github.com/vitest-dev/vitest/commit/766b8d2fa) - Fix code editor error and annotations gadgets layout shifts - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10969](https://github.com/vitest-dev/vitest/issues/10969) [<samp>(438ed)</samp>](https://github.com/vitest-dev/vitest/commit/438eda13f) - Synchronize watch-run UI state on file removal - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10941](https://github.com/vitest-dev/vitest/issues/10941) [<samp>(30c21)</samp>](https://github.com/vitest-dev/vitest/commit/30c21e668) - Require auth for coverage report and all UI subtree requests - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10971](https://github.com/vitest-dev/vitest/issues/10971) [<samp>(5622f)</samp>](https://github.com/vitest-dev/vitest/commit/5622f0959) - Improve suite interaction and layout in explorer tree - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10970](https://github.com/vitest-dev/vitest/issues/10970) [<samp>(91231)</samp>](https://github.com/vitest-dev/vitest/commit/9123111b3) - Reveal explorer virtual scroller on resize - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​10998](https://github.com/vitest-dev/vitest/issues/10998) [<samp>(1f4fc)</samp>](https://github.com/vitest-dev/vitest/commit/1f4fcd363) - Persist trace step-iframe split pane sizes - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​11027](https://github.com/vitest-dev/vitest/issues/11027) [<samp>(3cd01)</samp>](https://github.com/vitest-dev/vitest/commit/3cd019a0a) - Add suite level report view - by [@​dvmhmdsd](https://github.com/dvmhmdsd), **Hiroshi Ogawa**, **OpenCode (gpt-5.6-sol)** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​11038](https://github.com/vitest-dev/vitest/issues/11038) [<samp>(602d2)</samp>](https://github.com/vitest-dev/vitest/commit/602d215ae) - Hide running count in static reports - by [@​hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (gpt-5.6-sol)** in [#​11123](https://github.com/vitest-dev/vitest/issues/11123) [<samp>(73d72)</samp>](https://github.com/vitest-dev/vitest/commit/73d729484) - **utils**: - Don't crash on a malformed inline source map - by [@​lazerg](https://github.com/lazerg), **Hiroshi Ogawa**, **OpenCode (gpt-5.6-sol)** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​10892](https://github.com/vitest-dev/vitest/issues/10892) and [#​10893](https://github.com/vitest-dev/vitest/issues/10893) [<samp>(fe790)</samp>](https://github.com/vitest-dev/vitest/commit/fe7906275) - **vitest**: - Strip non-serializable functions from inline diff config - by [@​DucMinhNe](https://github.com/DucMinhNe) in [#​10573](https://github.com/vitest-dev/vitest/issues/10573) [<samp>(5b81a)</samp>](https://github.com/vitest-dev/vitest/commit/5b81a63ff) - Remove broken "./src/\*" export from package.json - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10918](https://github.com/vitest-dev/vitest/issues/10918) [<samp>(2e5df)</samp>](https://github.com/vitest-dev/vitest/commit/2e5df7543) - Render non-Error causes from env setup so the actual diagnostic is not dropped - by [@​spokodev](https://github.com/spokodev) in [#​10567](https://github.com/vitest-dev/vitest/issues/10567) [<samp>(b298d)</samp>](https://github.com/vitest-dev/vitest/commit/b298df609) - **vm**: - Fix external module resolve error with deps optimizer query for encoded URI - by [@​SveLil](https://github.com/SveLil) in [#​10658](https://github.com/vitest-dev/vitest/issues/10658) [<samp>(90c4e)</samp>](https://github.com/vitest-dev/vitest/commit/90c4ed4cd) - Stop retaining every finished test file in vm pool workers - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10854](https://github.com/vitest-dev/vitest/issues/10854) [<samp>(38503)</samp>](https://github.com/vitest-dev/vitest/commit/3850323e2) - Fall back to compiling from source when a module's code cache is rejected - by [@​MarshallOfSound](https://github.com/MarshallOfSound) in [#​11031](https://github.com/vitest-dev/vitest/issues/11031) [<samp>(c3ba1)</samp>](https://github.com/vitest-dev/vitest/commit/c3ba16b35) - Link module graphs one at a time - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11096](https://github.com/vitest-dev/vitest/issues/11096) [<samp>(3f2dd)</samp>](https://github.com/vitest-dev/vitest/commit/3f2ddc21a) - **webdriverio**: - Allow gpu in headless chrome - by [@​rotempasharel1](https://github.com/rotempasharel1) in [#​10376](https://github.com/vitest-dev/vitest/issues/10376) [<samp>(f310a)</samp>](https://github.com/vitest-dev/vitest/commit/f310abe4e) - **worker**: - Bind stdio's early in case overriden - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​11020](https://github.com/vitest-dev/vitest/issues/11020) [<samp>(67ef7)</samp>](https://github.com/vitest-dev/vitest/commit/67ef7a19b) ##### 🏎 Performance - Stringify diff objects only once - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10276](https://github.com/vitest-dev/vitest/issues/10276) [<samp>(d006a)</samp>](https://github.com/vitest-dev/vitest/commit/d006a6869) - Improve performance in hot paths - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10446](https://github.com/vitest-dev/vitest/issues/10446) [<samp>(03faf)</samp>](https://github.com/vitest-dev/vitest/commit/03faf6db6) - Serve warm modules to workers in one round-trip, enable the node compile cache - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10708](https://github.com/vitest-dev/vitest/issues/10708) [<samp>(b144a)</samp>](https://github.com/vitest-dev/vitest/commit/b144ab56e) - Make the Node compile cache opt-in, persist worker caches on teardown - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10742](https://github.com/vitest-dev/vitest/issues/10742) [<samp>(941bc)</samp>](https://github.com/vitest-dev/vitest/commit/941bc8361) - Reuse compiled code across vm pool contexts and prewarm the module graph - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10744](https://github.com/vitest-dev/vitest/issues/10744) [<samp>(d8b04)</samp>](https://github.com/vitest-dev/vitest/commit/d8b040c63) - Bundle vitest's own dependencies - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10685](https://github.com/vitest-dev/vitest/issues/10685) [<samp>(c0508)</samp>](https://github.com/vitest-dev/vitest/commit/c050842b6) - Lowers peak memory usage when using `--changed` on a large graph - by [@​jszumski](https://github.com/jszumski) in [#​10866](https://github.com/vitest-dev/vitest/issues/10866) [<samp>(9f23f)</samp>](https://github.com/vitest-dev/vitest/commit/9f23f8ec3) - Initialize trace view in the orchestrator once per worker - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10984](https://github.com/vitest-dev/vitest/issues/10984) [<samp>(fad26)</samp>](https://github.com/vitest-dev/vitest/commit/fad263fe8) - **browser**: - Reduce matching screenshot overhead - by [@​kasperpeulen](https://github.com/kasperpeulen) in [#​10278](https://github.com/vitest-dev/vitest/issues/10278) [<samp>(511c0)</samp>](https://github.com/vitest-dev/vitest/commit/511c09269) - Open browser sessions adaptively instead of maxWorkers upfront - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10726](https://github.com/vitest-dev/vitest/issues/10726) [<samp>(6db8d)</samp>](https://github.com/vitest-dev/vitest/commit/6db8de2e2) - Cut per-file round trips - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10730](https://github.com/vitest-dev/vitest/issues/10730) [<samp>(3feef)</samp>](https://github.com/vitest-dev/vitest/commit/3feefd9e2) - Stop serving framework sourcemaps in headless runs - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10728](https://github.com/vitest-dev/vitest/issues/10728) [<samp>(6aefb)</samp>](https://github.com/vitest-dev/vitest/commit/6aefb3d91) - Prewarm the browser while the Vite server starts - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10727](https://github.com/vitest-dev/vitest/issues/10727) [<samp>(c1767)</samp>](https://github.com/vitest-dev/vitest/commit/c17677a83) - Pre-bundle the vitest runtime in optimizeDeps - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10713](https://github.com/vitest-dev/vitest/issues/10713) [<samp>(de631)</samp>](https://github.com/vitest-dev/vitest/commit/de63174f5) - Serve framework assets as immutable - by [@​sheremet-va](https://github.com/sheremet-va) in [#​10729](https://github.com/vitest-dev/vitest/issues/10729) [<samp>(7af87)</samp>](https://github.com/vitest-dev/vitest/commit/7af8755ae) - **cache**: - Hash the environment-invariant part of the fs module cache key once - by [@​MarshallOfSound](https://github.com/MarshallOfSound) in [#​11029](https://github.com/vitest-dev/vitest/issues/11029) [<samp>(1d365)</samp>](https://github.com/vitest-dev/vitest/commit/1d365db15) - **coverage**: - Speed up v8 report generation (bounded-memory merge + precompiled globs) - by [@​toxik](https://github.com/toxik), **Claude Opus 5 (1M context)** and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10506](https://github.com/vitest-dev/vitest/issues/10506) [<samp>(b05e5)</samp>](https://github.com/vitest-dev/vitest/commit/b05e5d634) - Reduce RPC data and unnecessary serializations - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​10781](https://github.com/vitest-dev/vitest/issues/10781) [<samp>(7e7e3)</samp>](https://github.com/vitest-dev/vitest/commit/7e7e35cb4) - **expect**: - Avoid redefining matcher state - by [@​scttcper](https://github.com/scttcper) and **OpenAI Codex** in [#​11048](https://github.com/vitest-dev/vitest/issues/11048) [<samp>(58e71)</samp>](https://github.com/vitest-dev/vitest/commit/58e71306b) - Lazily format spy matcher failures - by [@​scttcper](https://github.com/scttcper) and **OpenAI Codex** in [#​11090](https://github.com/vitest-dev/vitest/issues/11090) [<samp>(e08c4)</samp>](https://github.com/vitest-dev/vitest/commit/e08c45c39) - **spy**: - Avoid scanning cleared mocks - by [@​scttcper](https://github.com/scttcper) and **OpenAI Codex** in [#​11092](https://github.com/vitest-dev/vitest/issues/11092) [<samp>(2451e)</samp>](https://github.com/vitest-dev/vitest/commit/2451e34c4) - **vm**: - Don't prewarm modules the worker never requests - by [@​MarshallOfSound](https://github.com/MarshallOfSound) and [@​sheremet-va](https://github.com/sheremet-va) in [#​11033](https://github.com/vitest-dev/vitest/issues/11033) [<samp>(1e9f8)</samp>](https://github.com/vitest-dev/vitest/commit/1e9f80ec1) - Let environments opt out of the module graph prewarm - by [@​sheremet-va](https://github.com/sheremet-va) in [#​11078](https://github.com/vitest-dev/vitest/issues/11078) [<samp>(a6d5e)</samp>](https://github.com/vitest-dev/vitest/commit/a6d5ea2d8) ##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.5...v5.0.0) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41Mi4xIiwidXBkYXRlZEluVmVyIjoiNDQuNTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: Joakim Olsson <joakim@unbound.se> Reviewed-on: https://gitea.unbound.se/unboundsoftware/schemas-app/pulls/345 Co-authored-by: Renovate Bot <renovate@unbound.se>
This commit was merged in pull request #345.
This commit is contained in:
1 parent
d8ce0efd89
commit
bafceab447
4 files changed
+136
-234
No files matched your search
@@ -14,12 +14,10 @@ const mockOrganizations = [
|
|||||||
// For now, the component is indirectly tested through useOrganizationSelector tests
|
// For now, the component is indirectly tested through useOrganizationSelector tests
|
||||||
// and manual testing shows it works correctly
|
// and manual testing shows it works correctly
|
||||||
|
|
||||||
describe('OrganizationSwitcher - Single Organization', () => {
|
// vi.mock is hoisted above the imports and the factory runs once, on the first
|
||||||
beforeEach(() => {
|
// import of the mocked module -- it was never re-applied per test despite sitting
|
||||||
vi.resetModules()
|
// in beforeEach. vitest 5 rejects the nested call outright rather than silently
|
||||||
mockSelectOrganization.mockClear()
|
// hoisting it, so declare it where it actually executes.
|
||||||
|
|
||||||
// Mock with single organization
|
|
||||||
vi.mock('~/composables/useOrganizationSelector', () => ({
|
vi.mock('~/composables/useOrganizationSelector', () => ({
|
||||||
useOrganizationSelector: () => ({
|
useOrganizationSelector: () => ({
|
||||||
organizations: ref([mockOrganizations[0]]),
|
organizations: ref([mockOrganizations[0]]),
|
||||||
@@ -28,6 +26,11 @@ describe('OrganizationSwitcher - Single Organization', () => {
|
|||||||
selectOrganization: mockSelectOrganization,
|
selectOrganization: mockSelectOrganization,
|
||||||
}),
|
}),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
describe('OrganizationSwitcher - Single Organization', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
vi.resetModules()
|
||||||
|
mockSelectOrganization.mockClear()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should show a chip for single organization', async () => {
|
it('should show a chip for single organization', async () => {
|
||||||
|
|||||||
Generated
+116
-225
@@ -32,7 +32,7 @@
|
|||||||
"@nuxtjs/stylelint-module": "5.2.1",
|
"@nuxtjs/stylelint-module": "5.2.1",
|
||||||
"@stylistic/eslint-plugin": "5.10.0",
|
"@stylistic/eslint-plugin": "5.10.0",
|
||||||
"@vitejs/plugin-vue": "6.0.8",
|
"@vitejs/plugin-vue": "6.0.8",
|
||||||
"@vitest/coverage-v8": "4.1.11",
|
"@vitest/coverage-v8": "5.0.0",
|
||||||
"@vue/test-utils": "2.5.0",
|
"@vue/test-utils": "2.5.0",
|
||||||
"eslint": "10.10.0",
|
"eslint": "10.10.0",
|
||||||
"eslint-plugin-simple-import-sort": "14.0.0",
|
"eslint-plugin-simple-import-sort": "14.0.0",
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
"stylelint-config-standard": "40.0.0",
|
"stylelint-config-standard": "40.0.0",
|
||||||
"typescript": "6.0.3",
|
"typescript": "6.0.3",
|
||||||
"typescript-eslint": "8.69.0",
|
"typescript-eslint": "8.69.0",
|
||||||
"vitest": "4.1.11",
|
"vitest": "5.0.0",
|
||||||
"vue-eslint-parser": "10.4.1"
|
"vue-eslint-parser": "10.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -8010,29 +8010,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/coverage-v8": {
|
"node_modules/@vitest/coverage-v8": {
|
||||||
"version": "4.1.11",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-5.0.0.tgz",
|
||||||
"integrity": "sha512-8MVGEFnJIcdGjcbfKmeq8z0pZHH0JlVtoVZH9Q/qwUp6wyFnEJUBMrw9DCaj+ra3vShGmhavjalMIhPNxZAUcw==",
|
"integrity": "sha512-toMg6PZGCIa/lQNCDoASrfb1ly4hsUKXFtFYC9kD4t78o5Y6LyNJU7AENt8eHPr3quYdxaxK7hj2mnbFfUk9NA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@bcoe/v8-coverage": "^1.0.2",
|
"@bcoe/v8-coverage": "^1.0.2",
|
||||||
"@vitest/utils": "4.1.11",
|
"@vitest/istanbul-lib-coverage": "^1.0.0",
|
||||||
"ast-v8-to-istanbul": "^1.0.0",
|
"@vitest/istanbul-lib-report": "^1.0.0",
|
||||||
"istanbul-lib-coverage": "^3.2.2",
|
"ast-v8-to-istanbul": "^1.0.5",
|
||||||
"istanbul-lib-report": "^3.0.1",
|
"magicast": "^0.5.4",
|
||||||
"istanbul-reports": "^3.2.0",
|
"obug": "^2.1.4",
|
||||||
"magicast": "^0.5.2",
|
"std-env": "^4.2.0",
|
||||||
"obug": "^2.1.1",
|
"tinyrainbow": "^3.1.1"
|
||||||
"std-env": "^4.0.0-rc.1",
|
|
||||||
"tinyrainbow": "^3.1.0"
|
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/vitest"
|
"url": "https://opencollective.com/vitest"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@vitest/browser": "4.1.11",
|
"@vitest/browser": "5.0.0",
|
||||||
"vitest": "4.1.11"
|
"vitest": "5.0.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@vitest/browser": {
|
"@vitest/browser": {
|
||||||
@@ -8040,34 +8038,40 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/expect": {
|
"node_modules/@vitest/istanbul-lib-coverage": {
|
||||||
"version": "4.1.11",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz",
|
||||||
"integrity": "sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==",
|
"integrity": "sha512-k3DJZ8LhMBK9NS4SclF1ASD3OgXEWDorbIcPTRDK0/Zae6fRvu+fJRxtFdLfHsa9Y24beCdPnoNZ4LviTNstfA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=22"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@vitest/istanbul-lib-report": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@vitest/istanbul-lib-report/-/istanbul-lib-report-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-1EOLRfsTMnyAr3+kEAsP4o9dhaDlGPpD7H5iLBBeq//YpNB1VIahkPhB+eRp9N2Dkfw8oySROjE3yf9XDeaIkQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@standard-schema/spec": "^1.1.0",
|
"@vitest/istanbul-lib-coverage": "1.0.1"
|
||||||
"@types/chai": "^5.2.2",
|
|
||||||
"@vitest/spy": "4.1.11",
|
|
||||||
"@vitest/utils": "4.1.11",
|
|
||||||
"chai": "^6.2.2",
|
|
||||||
"tinyrainbow": "^3.1.0"
|
|
||||||
},
|
},
|
||||||
"funding": {
|
"engines": {
|
||||||
"url": "https://opencollective.com/vitest"
|
"node": ">=22"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/mocker": {
|
"node_modules/@vitest/mocker": {
|
||||||
"version": "4.1.11",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.0.tgz",
|
||||||
"integrity": "sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==",
|
"integrity": "sha512-66PGTMIiVJP3t4a5yxU9qPtf7MdTBs8jmToMvy+HVflB3Yy13WJZTtPePdvU+wjRV02SKK5doLbSA6o9pwOmiA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/spy": "4.1.11",
|
"@jridgewell/trace-mapping": "0.3.31",
|
||||||
|
"@vitest/spy": "5.0.0",
|
||||||
"estree-walker": "^3.0.3",
|
"estree-walker": "^3.0.3",
|
||||||
"magic-string": "^0.30.21"
|
"magic-string": "^1.2.3"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/vitest"
|
"url": "https://opencollective.com/vitest"
|
||||||
@@ -8085,6 +8089,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@vitest/mocker/node_modules/@vitest/spy": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-uy+luWBAPw9XfthoHi5AkfHUnuPYEESjl0p/r+meoBnU8bxg5GDQ3Ey8MjcJ6sqahkL4PFyrvfMJJBw7LbU06g==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/vitest"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@vitest/mocker/node_modules/estree-walker": {
|
"node_modules/@vitest/mocker/node_modules/estree-walker": {
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
|
||||||
@@ -8095,72 +8109,14 @@
|
|||||||
"@types/estree": "^1.0.0"
|
"@types/estree": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/pretty-format": {
|
"node_modules/@vitest/mocker/node_modules/magic-string": {
|
||||||
"version": "4.1.11",
|
"version": "1.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.2.3.tgz",
|
||||||
"integrity": "sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==",
|
"integrity": "sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tinyrainbow": "^3.1.0"
|
"@jridgewell/sourcemap-codec": "^1.5.5"
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/vitest"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vitest/runner": {
|
|
||||||
"version": "4.1.11",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.11.tgz",
|
|
||||||
"integrity": "sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@vitest/utils": "4.1.11",
|
|
||||||
"pathe": "^2.0.3"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/vitest"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vitest/snapshot": {
|
|
||||||
"version": "4.1.11",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.11.tgz",
|
|
||||||
"integrity": "sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@vitest/pretty-format": "4.1.11",
|
|
||||||
"@vitest/utils": "4.1.11",
|
|
||||||
"magic-string": "^0.30.21",
|
|
||||||
"pathe": "^2.0.3"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/vitest"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vitest/spy": {
|
|
||||||
"version": "4.1.11",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.11.tgz",
|
|
||||||
"integrity": "sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/vitest"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vitest/utils": {
|
|
||||||
"version": "4.1.11",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.11.tgz",
|
|
||||||
"integrity": "sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@vitest/pretty-format": "4.1.11",
|
|
||||||
"convert-source-map": "^2.0.0",
|
|
||||||
"tinyrainbow": "^3.1.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://opencollective.com/vitest"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue-macros/common": {
|
"node_modules/@vue-macros/common": {
|
||||||
@@ -9081,9 +9037,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ast-v8-to-istanbul": {
|
"node_modules/ast-v8-to-istanbul": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.5.tgz",
|
||||||
"integrity": "sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==",
|
"integrity": "sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -12032,9 +11988,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/expect-type": {
|
"node_modules/expect-type": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz",
|
||||||
"integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==",
|
"integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -12964,13 +12920,6 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/html-escaper": {
|
|
||||||
"version": "2.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
|
|
||||||
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/html-tags": {
|
"node_modules/html-tags": {
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-5.1.0.tgz",
|
||||||
@@ -14122,58 +14071,6 @@
|
|||||||
"ws": "*"
|
"ws": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/istanbul-lib-coverage": {
|
|
||||||
"version": "3.2.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
|
|
||||||
"integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "BSD-3-Clause",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/istanbul-lib-report": {
|
|
||||||
"version": "3.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
|
|
||||||
"integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "BSD-3-Clause",
|
|
||||||
"dependencies": {
|
|
||||||
"istanbul-lib-coverage": "^3.0.0",
|
|
||||||
"make-dir": "^4.0.0",
|
|
||||||
"supports-color": "^7.1.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/istanbul-lib-report/node_modules/supports-color": {
|
|
||||||
"version": "7.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
|
||||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"has-flag": "^4.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/istanbul-reports": {
|
|
||||||
"version": "3.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
|
|
||||||
"integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "BSD-3-Clause",
|
|
||||||
"dependencies": {
|
|
||||||
"html-escaper": "^2.0.0",
|
|
||||||
"istanbul-lib-report": "^3.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/jackspeak": {
|
"node_modules/jackspeak": {
|
||||||
"version": "3.4.3",
|
"version": "3.4.3",
|
||||||
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
|
||||||
@@ -15386,22 +15283,6 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/make-dir": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"semver": "^7.5.3"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/map-cache": {
|
"node_modules/map-cache": {
|
||||||
"version": "0.2.2",
|
"version": "0.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
|
||||||
@@ -16946,14 +16827,17 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/obug": {
|
"node_modules/obug": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz",
|
||||||
"integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==",
|
"integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==",
|
||||||
"funding": [
|
"funding": [
|
||||||
"https://github.com/sponsors/sxzz",
|
"https://github.com/sponsors/sxzz",
|
||||||
"https://opencollective.com/debug"
|
"https://opencollective.com/debug"
|
||||||
],
|
],
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.20.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ofetch": {
|
"node_modules/ofetch": {
|
||||||
"version": "1.5.1",
|
"version": "1.5.1",
|
||||||
@@ -17407,9 +17291,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/picomatch": {
|
"node_modules/picomatch": {
|
||||||
"version": "4.0.5",
|
"version": "4.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
|
||||||
"integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
|
"integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
@@ -20001,11 +19885,14 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/tinybench": {
|
"node_modules/tinybench": {
|
||||||
"version": "2.9.0",
|
"version": "6.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.1.4.tgz",
|
||||||
"integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
|
"integrity": "sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20.0.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tinyclip": {
|
"node_modules/tinyclip": {
|
||||||
"version": "0.1.15",
|
"version": "0.1.15",
|
||||||
@@ -20017,9 +19904,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tinyexec": {
|
"node_modules/tinyexec": {
|
||||||
"version": "1.2.4",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.0.tgz",
|
||||||
"integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==",
|
"integrity": "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
@@ -20042,9 +19929,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tinyrainbow": {
|
"node_modules/tinyrainbow": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.1.tgz",
|
||||||
"integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==",
|
"integrity": "sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -20972,6 +20859,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-7.3.3.tgz",
|
||||||
"integrity": "sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==",
|
"integrity": "sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.27.0",
|
"esbuild": "^0.27.0",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
@@ -21748,38 +21636,31 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vitest": {
|
"node_modules/vitest": {
|
||||||
"version": "4.1.11",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.0.tgz",
|
||||||
"integrity": "sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==",
|
"integrity": "sha512-gpsMNoRhMjMktVxPtstOH4/PJuPyovVaMDr4oDilXaGH1EcqM2OE96SoHT2VIQ6fTGtTjqmHDrEu2X9RQiXf8Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/expect": "4.1.11",
|
"@types/chai": "^5.2.2",
|
||||||
"@vitest/mocker": "4.1.11",
|
"@vitest/mocker": "5.0.0",
|
||||||
"@vitest/pretty-format": "4.1.11",
|
"chai": "^6.2.2",
|
||||||
"@vitest/runner": "4.1.11",
|
"es-module-lexer": "^2.3.2",
|
||||||
"@vitest/snapshot": "4.1.11",
|
"expect-type": "^1.4.0",
|
||||||
"@vitest/spy": "4.1.11",
|
"magic-string": "^1.2.3",
|
||||||
"@vitest/utils": "4.1.11",
|
"obug": "^2.1.4",
|
||||||
"es-module-lexer": "^2.0.0",
|
"picomatch": "^4.0.7",
|
||||||
"expect-type": "^1.3.0",
|
"std-env": "^4.2.0",
|
||||||
"magic-string": "^0.30.21",
|
"tinybench": "6.1.4",
|
||||||
"obug": "^2.1.1",
|
"tinyexec": "1.3.0",
|
||||||
"pathe": "^2.0.3",
|
"tinyglobby": "^0.2.17",
|
||||||
"picomatch": "^4.0.3",
|
|
||||||
"std-env": "^4.0.0-rc.1",
|
|
||||||
"tinybench": "^2.9.0",
|
|
||||||
"tinyexec": "^1.0.2",
|
|
||||||
"tinyglobby": "^0.2.15",
|
|
||||||
"tinyrainbow": "^3.1.0",
|
|
||||||
"vite": "^6.0.0 || ^7.0.0 || ^8.0.0",
|
|
||||||
"why-is-node-running": "^2.3.0"
|
"why-is-node-running": "^2.3.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"vitest": "vitest.mjs"
|
"vitest": "vitest.mjs"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^20.0.0 || ^22.0.0 || >=24.0.0"
|
"node": "^22.12.0 || ^24.0.0 || >=26.0.0"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://opencollective.com/vitest"
|
"url": "https://opencollective.com/vitest"
|
||||||
@@ -21787,16 +21668,16 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@edge-runtime/vm": "*",
|
"@edge-runtime/vm": "*",
|
||||||
"@opentelemetry/api": "^1.9.0",
|
"@opentelemetry/api": "^1.9.0",
|
||||||
"@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
|
"@types/node": "^22.0.0 || >=24.0.0",
|
||||||
"@vitest/browser-playwright": "4.1.11",
|
"@vitest/browser-playwright": "5.0.0",
|
||||||
"@vitest/browser-preview": "4.1.11",
|
"@vitest/browser-preview": "5.0.0",
|
||||||
"@vitest/browser-webdriverio": "4.1.11",
|
"@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0",
|
||||||
"@vitest/coverage-istanbul": "4.1.11",
|
"@vitest/coverage-istanbul": "5.0.0",
|
||||||
"@vitest/coverage-v8": "4.1.11",
|
"@vitest/coverage-v8": "5.0.0",
|
||||||
"@vitest/ui": "4.1.11",
|
"@vitest/ui": "5.0.0",
|
||||||
"happy-dom": "*",
|
"happy-dom": "*",
|
||||||
"jsdom": "*",
|
"jsdom": "*",
|
||||||
"vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
|
"vite": "^6.4.0 || ^7.0.0 || ^8.0.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@edge-runtime/vm": {
|
"@edge-runtime/vm": {
|
||||||
@@ -21844,6 +21725,16 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/vitest/node_modules/magic-string": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.5.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vue": {
|
"node_modules/vue": {
|
||||||
"version": "3.5.42",
|
"version": "3.5.42",
|
||||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.42.tgz",
|
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.42.tgz",
|
||||||
|
|||||||
+2
-2
@@ -46,7 +46,7 @@
|
|||||||
"@nuxtjs/stylelint-module": "5.2.1",
|
"@nuxtjs/stylelint-module": "5.2.1",
|
||||||
"@stylistic/eslint-plugin": "5.10.0",
|
"@stylistic/eslint-plugin": "5.10.0",
|
||||||
"@vitejs/plugin-vue": "6.0.8",
|
"@vitejs/plugin-vue": "6.0.8",
|
||||||
"@vitest/coverage-v8": "4.1.11",
|
"@vitest/coverage-v8": "5.0.0",
|
||||||
"@vue/test-utils": "2.5.0",
|
"@vue/test-utils": "2.5.0",
|
||||||
"eslint": "10.10.0",
|
"eslint": "10.10.0",
|
||||||
"eslint-plugin-simple-import-sort": "14.0.0",
|
"eslint-plugin-simple-import-sort": "14.0.0",
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
"stylelint-config-standard": "40.0.0",
|
"stylelint-config-standard": "40.0.0",
|
||||||
"typescript": "6.0.3",
|
"typescript": "6.0.3",
|
||||||
"typescript-eslint": "8.69.0",
|
"typescript-eslint": "8.69.0",
|
||||||
"vitest": "4.1.11",
|
"vitest": "5.0.0",
|
||||||
"vue-eslint-parser": "10.4.1"
|
"vue-eslint-parser": "10.4.1"
|
||||||
},
|
},
|
||||||
"overrides": {
|
"overrides": {
|
||||||
|
|||||||
+9
-1
@@ -31,7 +31,15 @@ class LocalStorageMock {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
global.localStorage = new LocalStorageMock() as unknown as Storage
|
// jsdom defines localStorage as a getter-only accessor on the window object, so a
|
||||||
|
// plain assignment throws ("Cannot set property localStorage ... which has only a
|
||||||
|
// getter") under vitest 5, which no longer shadows it with a writable global.
|
||||||
|
// defineProperty replaces the accessor outright and works on both.
|
||||||
|
Object.defineProperty(globalThis, 'localStorage', {
|
||||||
|
value: new LocalStorageMock() as unknown as Storage,
|
||||||
|
writable: true,
|
||||||
|
configurable: true,
|
||||||
|
})
|
||||||
|
|
||||||
// Make Vue composables globally available
|
// Make Vue composables globally available
|
||||||
global.ref = Vue.ref
|
global.ref = Vue.ref
|
||||||
|
|||||||
Reference in new issue
Block a user