-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: support running tests using VM context #3203
Conversation
Run & review this pull request in StackBlitz Codeflow. |
will that help with |
If you need speed, don't use Current version of this PR uses only workers to run tests in parallel. Will probably add a way to run |
Yeah I wish but in Lerna-Lite (a fork of Lerna), it uses a ton of
that would be really nice and I wonder if that would help with my opened issue #3129 that I still have and found no fix yet (apart from not running the test one at a time). I did migrate from Jest to Vitest regardless |
c3edc0d
to
fd56878
Compare
With this third runner environment option, I wonder if the config should be refactored to replace |
Yes, I've been thinking about a similar approach. But technically it should also contain "browser". The list might be:
We decided against it for now to keep the same API. The |
What's a |
|
Thanks, that does sound awesome indeed to be finally able to stop fighting jsdom 👍 |
4e22f76
to
3bc676b
Compare
5a45332
to
7f4a3df
Compare
39e9855
to
939c81d
Compare
I think we also need to implement |
✅ Deploy Preview for fastidious-cascaron-4ded94 canceled.
|
6929bca
to
62bcb35
Compare
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vitest](https://togithub.com/vitest-dev/vitest) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`0.32.2` -> `0.34.6`](https://renovatebot.com/diffs/npm/vitest/0.32.2/0.34.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/0.34.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/0.34.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/0.32.2/0.34.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/0.32.2/0.34.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitest-dev/vitest (vitest)</summary> ### [`v0.34.6`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.34.6) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.34.5...v0.34.6) ##### 🐞 Bug Fixes - Overwrite global URL with environment's - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4164](https://togithub.com/vitest-dev/vitest/issues/4164) [<samp>(cbe13)</samp>](https://togithub.com/vitest-dev/vitest/commit/cbe133da) - Correctly resolve external dependencies loaded by custom environments - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4196](https://togithub.com/vitest-dev/vitest/issues/4196) [<samp>(e3408)</samp>](https://togithub.com/vitest-dev/vitest/commit/e340802f) - **runner**: The fixture of `test.extend` should be init once time in all test - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/4168](https://togithub.com/vitest-dev/vitest/issues/4168) [<samp>(730b2)</samp>](https://togithub.com/vitest-dev/vitest/commit/730b29ec) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.34.5...v0.34.6) ### [`v0.34.5`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.34.5) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.34.4...v0.34.5) ##### 🚀 Features - **config**: - Add `diff` option - by [@​fenghan34](https://togithub.com/fenghan34) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4063](https://togithub.com/vitest-dev/vitest/issues/4063) [<samp>(b50cf)</samp>](https://togithub.com/vitest-dev/vitest/commit/b50cf7ad) - **coverage**: - Add `coverage['100']` to istanbul provider - by [@​marcelobotega](https://togithub.com/marcelobotega) in [https://github.com/vitest-dev/vitest/issues/4109](https://togithub.com/vitest-dev/vitest/issues/4109) [<samp>(a7e09)</samp>](https://togithub.com/vitest-dev/vitest/commit/a7e09939) - **vitest**: - Support `vi.waitFor` method - by [@​Dunqing](https://togithub.com/Dunqing) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4113](https://togithub.com/vitest-dev/vitest/issues/4113) [<samp>(d79cb)</samp>](https://togithub.com/vitest-dev/vitest/commit/d79cb44b) - Allow using unprocessed environment files - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4098](https://togithub.com/vitest-dev/vitest/issues/4098) [<samp>(1aee1)</samp>](https://togithub.com/vitest-dev/vitest/commit/1aee13af) - Support `vi.waitUntil` method - by [@​Dunqing](https://togithub.com/Dunqing) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4129](https://togithub.com/vitest-dev/vitest/issues/4129) [<samp>(e0ac9)</samp>](https://togithub.com/vitest-dev/vitest/commit/e0ac97cf) ##### 🐞 Bug Fixes - Update HappyDOMOptions to be compatible with v12 - by [@​anthonyblond](https://togithub.com/anthonyblond) in [https://github.com/vitest-dev/vitest/issues/4135](https://togithub.com/vitest-dev/vitest/issues/4135) [<samp>(e8797)</samp>](https://togithub.com/vitest-dev/vitest/commit/e8797534) - Print value shape when .resolves and .rejects fails - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4137](https://togithub.com/vitest-dev/vitest/issues/4137) [<samp>(e649d)</samp>](https://togithub.com/vitest-dev/vitest/commit/e649d78f) - **docs**: - Fix lint errors on onConsoleLog example - by [@​marcelobotega](https://togithub.com/marcelobotega) in [https://github.com/vitest-dev/vitest/issues/4116](https://togithub.com/vitest-dev/vitest/issues/4116) [<samp>(ba1e7)</samp>](https://togithub.com/vitest-dev/vitest/commit/ba1e7335) - **expect**: - Improve the error message when nothing is thrown when testing `toThrow` - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/3979](https://togithub.com/vitest-dev/vitest/issues/3979) [<samp>(725a0)</samp>](https://togithub.com/vitest-dev/vitest/commit/725a0146) - **happy-dom**: - Catch errors in happy-dom - by [@​capricorn86](https://togithub.com/capricorn86) in [https://github.com/vitest-dev/vitest/issues/4140](https://togithub.com/vitest-dev/vitest/issues/4140) [<samp>(c21c0)</samp>](https://togithub.com/vitest-dev/vitest/commit/c21c0efa) - **runner**: - Restore leading space in `testNamePattern` - by [@​segrey](https://togithub.com/segrey) in [https://github.com/vitest-dev/vitest/issues/4103](https://togithub.com/vitest-dev/vitest/issues/4103) and [https://github.com/vitest-dev/vitest/issues/4104](https://togithub.com/vitest-dev/vitest/issues/4104) [<samp>(3c305)</samp>](https://togithub.com/vitest-dev/vitest/commit/3c305857) - `test.extend` doesn't work in hooks without test - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/4065](https://togithub.com/vitest-dev/vitest/issues/4065) [<samp>(175c7)</samp>](https://togithub.com/vitest-dev/vitest/commit/175c752d) - **snapshot**: - Support mix of normal/with placeholders snapshots - by [@​RobertPechaCZ](https://togithub.com/RobertPechaCZ) in [https://github.com/vitest-dev/vitest/issues/4118](https://togithub.com/vitest-dev/vitest/issues/4118) [<samp>(01e01)</samp>](https://togithub.com/vitest-dev/vitest/commit/01e01bfc) - **ui**: - Correctly render ansi diff - by [@​so1ve](https://togithub.com/so1ve) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3810](https://togithub.com/vitest-dev/vitest/issues/3810) [<samp>(8c315)</samp>](https://togithub.com/vitest-dev/vitest/commit/8c3152fa) - **vite-node**: - Export `SourceMapInput` to fix CYCLIC_CROSS_CHUNK_REEXPORT - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/4128](https://togithub.com/vitest-dev/vitest/issues/4128) [<samp>(ca70a)</samp>](https://togithub.com/vitest-dev/vitest/commit/ca70a779) - Align vite dependency version with vitest - by [@​sheremet-va](https://togithub.com/sheremet-va) [<samp>(90ff8)</samp>](https://togithub.com/vitest-dev/vitest/commit/90ff899b) - **vitest**: - Rerun tests if a file loaded with query changes - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4130](https://togithub.com/vitest-dev/vitest/issues/4130) [<samp>(a084c)</samp>](https://togithub.com/vitest-dev/vitest/commit/a084ceaf) - Inject "define" in workspaces - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4096](https://togithub.com/vitest-dev/vitest/issues/4096) [<samp>(b4d5a)</samp>](https://togithub.com/vitest-dev/vitest/commit/b4d5ae23) ##### 🏎 Performance - Use lazy require in vm pool - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4136](https://togithub.com/vitest-dev/vitest/issues/4136) [<samp>(21ba4)</samp>](https://togithub.com/vitest-dev/vitest/commit/21ba4935) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.34.4...v0.34.5) ### [`v0.34.4`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.34.4) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.34.3...v0.34.4) ##### 🐞 Bug Fixes - Resolving dep optimizer issues with workspace - by [@​thebanjomatic](https://togithub.com/thebanjomatic) in [https://github.com/vitest-dev/vitest/issues/4036](https://togithub.com/vitest-dev/vitest/issues/4036) [<samp>(0c13c)</samp>](https://togithub.com/vitest-dev/vitest/commit/0c13c39c) - Don't process config file twice - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4077](https://togithub.com/vitest-dev/vitest/issues/4077) [<samp>(a84a8)</samp>](https://togithub.com/vitest-dev/vitest/commit/a84a8e05) - **coverage**: - Log info only when terminal reporter is used - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/4027](https://togithub.com/vitest-dev/vitest/issues/4027) [<samp>(9f043)</samp>](https://togithub.com/vitest-dev/vitest/commit/9f04386b) - **happy-dom**: - Use the nodejs console in happy-dom v11 - by [@​capricorn86](https://togithub.com/capricorn86) in [https://github.com/vitest-dev/vitest/issues/4090](https://togithub.com/vitest-dev/vitest/issues/4090) [<samp>(59434)</samp>](https://togithub.com/vitest-dev/vitest/commit/59434189) - **runner**: - Incorrect test name pattern matching - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/4071](https://togithub.com/vitest-dev/vitest/issues/4071) [<samp>(b5bf3)</samp>](https://togithub.com/vitest-dev/vitest/commit/b5bf3290) - **vite-node**: - Check more precisely for root/base paths - by [@​danielroe](https://togithub.com/danielroe) in [https://github.com/vitest-dev/vitest/issues/4049](https://togithub.com/vitest-dev/vitest/issues/4049) [<samp>(80741)</samp>](https://togithub.com/vitest-dev/vitest/commit/807418fa) - **vitest**: - "vi" doesn't rely on context - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4031](https://togithub.com/vitest-dev/vitest/issues/4031) [<samp>(0d0f3)</samp>](https://togithub.com/vitest-dev/vitest/commit/0d0f35f6) - Only override ssr.optimizer instead of the whole ssr object - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4080](https://togithub.com/vitest-dev/vitest/issues/4080) [<samp>(410bc)</samp>](https://togithub.com/vitest-dev/vitest/commit/410bc454) - Don't start the server when optimizer is enabled - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4095](https://togithub.com/vitest-dev/vitest/issues/4095) [<samp>(00e81)</samp>](https://togithub.com/vitest-dev/vitest/commit/00e81122) - Set SSR env only when transformMode is ssr - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4083](https://togithub.com/vitest-dev/vitest/issues/4083) [<samp>(f8ea7)</samp>](https://togithub.com/vitest-dev/vitest/commit/f8ea716a) - Show error when calling API on files that user has no access to - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4085](https://togithub.com/vitest-dev/vitest/issues/4085) [<samp>(8b39c)</samp>](https://togithub.com/vitest-dev/vitest/commit/8b39c117) - **web-worker**: - Don't rely on browser API when it's not provided - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/4014](https://togithub.com/vitest-dev/vitest/issues/4014) [<samp>(e78a4)</samp>](https://togithub.com/vitest-dev/vitest/commit/e78a449d) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.34.3...v0.34.4) ### [`v0.34.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.34.3) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.34.2...v0.34.3) ##### 🚀 Features - **coverage**: Add `allowExternal` option - by [@​vojvodics](https://togithub.com/vojvodics) and [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3894](https://togithub.com/vitest-dev/vitest/issues/3894) [<samp>(c03fa)</samp>](https://togithub.com/vitest-dev/vitest/commit/c03faa22) - **vitest**: Export all reporters in `vitest/reporters` - by [@​Dunqing](https://togithub.com/Dunqing) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3980](https://togithub.com/vitest-dev/vitest/issues/3980) [<samp>(5704b)</samp>](https://togithub.com/vitest-dev/vitest/commit/5704b341) ##### 🐞 Bug Fixes - Should remove mockPath from callstack whether success or failed - by [@​miserylee](https://togithub.com/miserylee) and **lijifei** in [https://github.com/vitest-dev/vitest/issues/3971](https://togithub.com/vitest-dev/vitest/issues/3971) [<samp>(5eb85)</samp>](https://togithub.com/vitest-dev/vitest/commit/5eb8561c) - Add workspace config files to default coverage excludes - by [@​FelixGraf](https://togithub.com/FelixGraf) and [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3973](https://togithub.com/vitest-dev/vitest/issues/3973) [<samp>(20263)</samp>](https://togithub.com/vitest-dev/vitest/commit/20263d9d) - Report file error as a <failure> on JUnit - by [@​3c1u](https://togithub.com/3c1u) in [https://github.com/vitest-dev/vitest/issues/3997](https://togithub.com/vitest-dev/vitest/issues/3997) [<samp>(00c43)</samp>](https://togithub.com/vitest-dev/vitest/commit/00c432fa) - **jsdom**: Correctly resolve buffer on typed arrays - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3998](https://togithub.com/vitest-dev/vitest/issues/3998) [<samp>(b42cf)</samp>](https://togithub.com/vitest-dev/vitest/commit/b42cf36e) - **ui**: Use web hash history in ui - by [@​segevfiner](https://togithub.com/segevfiner) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3481](https://togithub.com/vitest-dev/vitest/issues/3481) and [https://github.com/vitest-dev/vitest/issues/3487](https://togithub.com/vitest-dev/vitest/issues/3487) [<samp>(8caab)</samp>](https://togithub.com/vitest-dev/vitest/commit/8caabaa1) - **vite-node**: Inline HMR types - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3993](https://togithub.com/vitest-dev/vitest/issues/3993) [<samp>(dff60)</samp>](https://togithub.com/vitest-dev/vitest/commit/dff60e82) - **vitest**: Correctly resolve optimizer status - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3992](https://togithub.com/vitest-dev/vitest/issues/3992) [<samp>(74dc5)</samp>](https://togithub.com/vitest-dev/vitest/commit/74dc5967) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.34.2...v0.34.3) ### [`v0.34.2`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.34.2) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.34.1...v0.34.2) ##### 🚀 Features - Allow importing CSS and assets inside external dependencies when using `--experimental-vm-threads` - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3880](https://togithub.com/vitest-dev/vitest/issues/3880) [<samp>(f4e6e)</samp>](https://togithub.com/vitest-dev/vitest/commit/f4e6e99f) - **vitest**: Allow calling `ctx.skip()` inside the running test - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3966](https://togithub.com/vitest-dev/vitest/issues/3966) [<samp>(5c88d)</samp>](https://togithub.com/vitest-dev/vitest/commit/5c88d8e5) ##### 🐞 Bug Fixes - Don't bundle utils' source-map entry - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3865](https://togithub.com/vitest-dev/vitest/issues/3865) [<samp>(a08e5)</samp>](https://togithub.com/vitest-dev/vitest/commit/a08e5993) - Reduce the memory consumption when running --experimental-vm-threads - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3872](https://togithub.com/vitest-dev/vitest/issues/3872) [<samp>(d1a08)</samp>](https://togithub.com/vitest-dev/vitest/commit/d1a08c88) - Indicator position of error message - by [@​fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/3855](https://togithub.com/vitest-dev/vitest/issues/3855) [<samp>(3e1e7)</samp>](https://togithub.com/vitest-dev/vitest/commit/3e1e7a1f) - Don't crash when using --experimental-vm-threads, interop CJS default inside node_modules - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3876](https://togithub.com/vitest-dev/vitest/issues/3876) [<samp>(0c53e)</samp>](https://togithub.com/vitest-dev/vitest/commit/0c53e098) - Don't crash if total memory is not supported - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3879](https://togithub.com/vitest-dev/vitest/issues/3879) [<samp>(7d1f8)</samp>](https://togithub.com/vitest-dev/vitest/commit/7d1f86b8) - Check memory and limit value - by [@​sheremet-va](https://togithub.com/sheremet-va) [<samp>(f8dfb)</samp>](https://togithub.com/vitest-dev/vitest/commit/f8dfbd38) - Update module warning as it is moved into server config - by [@​jellyfishgh](https://togithub.com/jellyfishgh) in [https://github.com/vitest-dev/vitest/issues/3931](https://togithub.com/vitest-dev/vitest/issues/3931) [<samp>(3a3eb)</samp>](https://togithub.com/vitest-dev/vitest/commit/3a3eb22c) - Define process variable and using import.meta.env together did not work - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/3944](https://togithub.com/vitest-dev/vitest/issues/3944) [<samp>(e73ca)</samp>](https://togithub.com/vitest-dev/vitest/commit/e73ca9ed) - Correctly resolve config in a workspace - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3947](https://togithub.com/vitest-dev/vitest/issues/3947) [<samp>(1c08d)</samp>](https://togithub.com/vitest-dev/vitest/commit/1c08d5da) - Don't crash when calling useFakeTimers in VM pool - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3958](https://togithub.com/vitest-dev/vitest/issues/3958) [<samp>(91fe4)</samp>](https://togithub.com/vitest-dev/vitest/commit/91fe4853) - Restrict access to file system via API - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3956](https://togithub.com/vitest-dev/vitest/issues/3956) [<samp>(bcb41)</samp>](https://togithub.com/vitest-dev/vitest/commit/bcb41e51) - Typo of mocks plugin name - by [@​antfu](https://togithub.com/antfu) [<samp>(3073b)</samp>](https://togithub.com/vitest-dev/vitest/commit/3073b9a2) - Build not generated `execute.d.ts` - by [@​btea](https://togithub.com/btea) in [https://github.com/vitest-dev/vitest/issues/3970](https://togithub.com/vitest-dev/vitest/issues/3970) [<samp>(0f8e6)</samp>](https://togithub.com/vitest-dev/vitest/commit/0f8e60b7) - **css**: - Don't mock css-module if `?inline` query is specified - by [@​thebanjomatic](https://togithub.com/thebanjomatic) and **Adam Hines** in [https://github.com/vitest-dev/vitest/issues/3952](https://togithub.com/vitest-dev/vitest/issues/3952) [<samp>(3891d)</samp>](https://togithub.com/vitest-dev/vitest/commit/3891d055) - **expect**: - Correctly show async matcher diff - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3960](https://togithub.com/vitest-dev/vitest/issues/3960) [<samp>(9423b)</samp>](https://togithub.com/vitest-dev/vitest/commit/9423b6f8) - **snapshots**: - Update inline snapshot correctly - by [@​fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/3887](https://togithub.com/vitest-dev/vitest/issues/3887) [<samp>(7b740)</samp>](https://togithub.com/vitest-dev/vitest/commit/7b740a27) - **ui**: - Incorrect duration time in vitest ui - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/3945](https://togithub.com/vitest-dev/vitest/issues/3945) [<samp>(35139)</samp>](https://togithub.com/vitest-dev/vitest/commit/351399f2) - Add support for ui coverage with subdir option - by [@​userquin](https://togithub.com/userquin) in [https://github.com/vitest-dev/vitest/issues/3917](https://togithub.com/vitest-dev/vitest/issues/3917) [<samp>(6ecfc)</samp>](https://togithub.com/vitest-dev/vitest/commit/6ecfc4e1) - **vitest**: - Use esm module resolution to resolve env - by [@​danielroe](https://togithub.com/danielroe) in [https://github.com/vitest-dev/vitest/issues/3951](https://togithub.com/vitest-dev/vitest/issues/3951) [<samp>(edb32)</samp>](https://togithub.com/vitest-dev/vitest/commit/edb322fe) - Allow rewriting process.env.NODE_MODE when using web transform mode - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3957](https://togithub.com/vitest-dev/vitest/issues/3957) [<samp>(eca4b)</samp>](https://togithub.com/vitest-dev/vitest/commit/eca4b87f) - Only consider cwd when using glob - by [@​g-plane](https://togithub.com/g-plane) in [https://github.com/vitest-dev/vitest/issues/3802](https://togithub.com/vitest-dev/vitest/issues/3802) and [https://github.com/vitest-dev/vitest/issues/3949](https://togithub.com/vitest-dev/vitest/issues/3949) [<samp>(15b4f)</samp>](https://togithub.com/vitest-dev/vitest/commit/15b4fd6d) - Pass environmentOptions to happy-dom integration - by [@​sheremet-va](https://togithub.com/sheremet-va) and **Raul de Melo** in [https://github.com/vitest-dev/vitest/issues/3972](https://togithub.com/vitest-dev/vitest/issues/3972) [<samp>(6a0cb)</samp>](https://togithub.com/vitest-dev/vitest/commit/6a0cb647) - **web**: - Correctly resolve assets in new URL - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3950](https://togithub.com/vitest-dev/vitest/issues/3950) [<samp>(a428f)</samp>](https://togithub.com/vitest-dev/vitest/commit/a428f8d4) ##### 🏎 Performance - **dot-renderer**: Speed up getTests - by [@​gtm-nayan](https://togithub.com/gtm-nayan) in [https://github.com/vitest-dev/vitest/issues/3923](https://togithub.com/vitest-dev/vitest/issues/3923) [<samp>(e9404)</samp>](https://togithub.com/vitest-dev/vitest/commit/e94044d7) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.34.1...v0.34.2) ### [`v0.34.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.34.1) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.34.0...v0.34.1) ##### 🐞 Bug Fixes - Pass `--experimental-vm-worker-memory-limit` to `tinypool` - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3856](https://togithub.com/vitest-dev/vitest/issues/3856) [<samp>(3c67a)</samp>](https://togithub.com/vitest-dev/vitest/commit/3c67a4cb) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.34.0...v0.34.1) ### [`v0.34.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.34.0) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.33.0...v0.34.0) ##### 🚨 Breaking Changes - Transform mode affects only test files, not regular files - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3491](https://togithub.com/vitest-dev/vitest/issues/3491) [<samp>(9608b)</samp>](https://togithub.com/vitest-dev/vitest/commit/9608bf72) - `transformMode` is now moved to `server.transformMode`. This option is highly discouraged to use. If you need to change the transform mode, use the new option `testTransformMode` instead to control the mode based on the running test, not the current file path. By default, tests with `jsdom` or `happy-dom` use `web` transform mode, and tests using `node` or `edge` environment use `ssr` mode. If you have a custom environment, it should provide `transformMode` property. - Custom environment now should be processed before Vitest can consume it. It means that you cannot specify a path to a TS file or use import paths that should be processed by Vite. - Disable `coverage.reportOnFailure` by default - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3615](https://togithub.com/vitest-dev/vitest/issues/3615) [<samp>(0c6f6)</samp>](https://togithub.com/vitest-dev/vitest/commit/0c6f624f) - Remove `@vitest/coverage-c8` package - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3614](https://togithub.com/vitest-dev/vitest/issues/3614) [<samp>(a90d6)</samp>](https://togithub.com/vitest-dev/vitest/commit/a90d64fe) - `@vitest/coverage-c8` is no longer supported. Please, use `@vitest/coverage-v8` instead. - Support running tests using VM context - by [@​sheremet-va](https://togithub.com/sheremet-va) and [@​dammy001](https://togithub.com/dammy001) in [https://github.com/vitest-dev/vitest/issues/3203](https://togithub.com/vitest-dev/vitest/issues/3203) [<samp>(b0929)</samp>](https://togithub.com/vitest-dev/vitest/commit/b0929852) - To address speed issues in some applications, Vitest now provides `experimentalVmThreads` pool to run your tests using VM Sandboxes environment. Make sure you understand [all pitfalls](https://vitest.dev/config/#experimentalvmthreads) of this pool before opening an issue. - Introduce `server` option - by [@​fenghan34](https://togithub.com/fenghan34) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3725](https://togithub.com/vitest-dev/vitest/issues/3725) [<samp>(dc4fa)</samp>](https://togithub.com/vitest-dev/vitest/commit/dc4faf64) - Most of `deps.` options are now moved to `server.deps` with a deprecation warning. Please, consider using `deps.optimizer` instead of `deps.inline`/`deps.external`. Ideally, we would like to move away from using `server.deps.inline` altogether. - **vite-node**: Make CLI arguments parsing behavior consistent with node/tsx/ts-node - by [@​rxliuli](https://togithub.com/rxliuli) in [https://github.com/vitest-dev/vitest/issues/3574](https://togithub.com/vitest-dev/vitest/issues/3574) [<samp>(1cd4e)</samp>](https://togithub.com/vitest-dev/vitest/commit/1cd4eb0f) - You now have to provide CLI arguments before the entry point. For example, instead of `vite-node index.ts --watch`, you now have to do `vite-node --watch index.ts`. - Add preact example, remove optimizer experimental status, enable by default - by [@​sheremet-va](https://togithub.com/sheremet-va) and [@​eryue0220](https://togithub.com/eryue0220) in [https://github.com/vitest-dev/vitest/issues/3854](https://togithub.com/vitest-dev/vitest/issues/3854) [<samp>(4b946)</samp>](https://togithub.com/vitest-dev/vitest/commit/4b946ca9) - `deps.optimizer` is now enabled by default. This means that Vitest will bundle specified dependencies before running your tests. This field inherits options from `optimizeDeps` and `ssr.optimizeDeps` which are populated by other plugins (like, Svelte). ##### 🚀 Features - Support `describe.sequential` - by [@​fenghan34](https://togithub.com/fenghan34) and [@​dammy001](https://togithub.com/dammy001) in [https://github.com/vitest-dev/vitest/issues/3771](https://togithub.com/vitest-dev/vitest/issues/3771) [<samp>(86934)</samp>](https://togithub.com/vitest-dev/vitest/commit/8693449b) - Support config junit reporter className with env - by [@​InfiniteXyy](https://togithub.com/InfiniteXyy) in [https://github.com/vitest-dev/vitest/issues/3808](https://togithub.com/vitest-dev/vitest/issues/3808) [<samp>(e8bc4)</samp>](https://togithub.com/vitest-dev/vitest/commit/e8bc46b6) - Running vitest with `--related --watch` reruns non-affected tests if they were changed during a run - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3844](https://togithub.com/vitest-dev/vitest/issues/3844) [<samp>(c9aea)</samp>](https://togithub.com/vitest-dev/vitest/commit/c9aeac4c) ##### 🐞 Bug Fixes - Isolate workers between envs and workspaces - by [@​AriPerkkio](https://togithub.com/AriPerkkio) [<samp>(ed4e0)</samp>](https://togithub.com/vitest-dev/vitest/commit/ed4e0424) - Modify condition - by [@​btea](https://togithub.com/btea) [<samp>(a78e6)</samp>](https://togithub.com/vitest-dev/vitest/commit/a78e6bd0) - Module Graph view is blocking the Console view - by [@​g4rry420](https://togithub.com/g4rry420) [<samp>(3b5f9)</samp>](https://togithub.com/vitest-dev/vitest/commit/3b5f96bc) - Port the latest `defineConfig` type from vite - by [@​sodatea](https://togithub.com/sodatea) in [https://github.com/vitest-dev/vitest/issues/3804](https://togithub.com/vitest-dev/vitest/issues/3804) [<samp>(9c8e3)</samp>](https://togithub.com/vitest-dev/vitest/commit/9c8e3083) - Don't overwrite Node.js URL global - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3828](https://togithub.com/vitest-dev/vitest/issues/3828) [<samp>(cdab4)</samp>](https://togithub.com/vitest-dev/vitest/commit/cdab4651) - ForceRerunTriggers correctly triggers a rerun - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3829](https://togithub.com/vitest-dev/vitest/issues/3829) [<samp>(17988)</samp>](https://togithub.com/vitest-dev/vitest/commit/17988e51) - **browser**: - Don't inline magic-string and estree-walker - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3726](https://togithub.com/vitest-dev/vitest/issues/3726) [<samp>(ee937)</samp>](https://togithub.com/vitest-dev/vitest/commit/ee93762a) - Multi-suite coverage - by [@​elby22](https://togithub.com/elby22) in [https://github.com/vitest-dev/vitest/issues/3806](https://togithub.com/vitest-dev/vitest/issues/3806) [<samp>(5de9a)</samp>](https://togithub.com/vitest-dev/vitest/commit/5de9af26) - **core**: - DataView comparison does not work in `toStrictEqual` - by [@​Dunqing](https://togithub.com/Dunqing) [<samp>(52aef)</samp>](https://togithub.com/vitest-dev/vitest/commit/52aef92e) - **coverage**: - V8 provider to pick source maps without url query params - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3784](https://togithub.com/vitest-dev/vitest/issues/3784) [<samp>(280e6)</samp>](https://togithub.com/vitest-dev/vitest/commit/280e6745) - Update `istanbul-lib-instrument` to v6 to fix vulnerable dependency - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3814](https://togithub.com/vitest-dev/vitest/issues/3814) [<samp>(f3bd9)</samp>](https://togithub.com/vitest-dev/vitest/commit/f3bd9102) - Exclude vite virtual modules by default - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3794](https://togithub.com/vitest-dev/vitest/issues/3794) [<samp>(3c851)</samp>](https://togithub.com/vitest-dev/vitest/commit/3c851872) - **node**: - Guard error info - by [@​btea](https://togithub.com/btea) [<samp>(88b39)</samp>](https://togithub.com/vitest-dev/vitest/commit/88b39758) - **vite-node**: - Always treat node_modules as modulesDirectory - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3830](https://togithub.com/vitest-dev/vitest/issues/3830) [<samp>(51ab8)</samp>](https://togithub.com/vitest-dev/vitest/commit/51ab8d6c) - Normalize drive letter to keep the same reference to a module - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3836](https://togithub.com/vitest-dev/vitest/issues/3836) [<samp>(45521)</samp>](https://togithub.com/vitest-dev/vitest/commit/45521859) - Correctly resolve hmr filepath - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3834](https://togithub.com/vitest-dev/vitest/issues/3834) [<samp>(711a6)</samp>](https://togithub.com/vitest-dev/vitest/commit/711a6249) - **watch**: - Clear screen on all terminals - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3661](https://togithub.com/vitest-dev/vitest/issues/3661) [<samp>(8bd26)</samp>](https://togithub.com/vitest-dev/vitest/commit/8bd26b01) ##### 🏎 Performance - Deprecate deps.registerNodeLoader - by [@​sheremet-va](https://togithub.com/sheremet-va) [<samp>(7f45b)</samp>](https://togithub.com/vitest-dev/vitest/commit/7f45bf2d) - This option was introduced to support aliasing inside external packages. Please, use `deps.optimizer.web` instead. If you test Node.js applications, consider adding external packages to `server.deps.inline`. ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.33.0...v0.34.0) ### [`v0.33.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.33.0) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.32.4...v0.33.0) ##### 🚨 Breaking Changes - Revert default include patterns - by [@​so1ve](https://togithub.com/so1ve) [#​3729](https://togithub.com/vitest-dev/vitest/issues/3729) - `0.32.0` changed the default `include` globs to be compatible with Jest. After a discussion with the community, we are reverting this change because it turned out to be non-intuitive. ##### 🐞 Bug Fixes - Add missing JSDom living keys - by [@​DerZade](https://togithub.com/DerZade) in [https://github.com/vitest-dev/vitest/issues/3702](https://togithub.com/vitest-dev/vitest/issues/3702) [<samp>(83a86)</samp>](https://togithub.com/vitest-dev/vitest/commit/83a86a75) - **vite-node**: - Don't fail when importing Promise module - by [@​sheremet-va](https://togithub.com/sheremet-va) [<samp>(08192)</samp>](https://togithub.com/vitest-dev/vitest/commit/0819275a) - Allow importing node:test - by [@​sheremet-va](https://togithub.com/sheremet-va) [<samp>(db22c)</samp>](https://togithub.com/vitest-dev/vitest/commit/db22c677) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.32.4...v0.33.0) ### [`v0.32.4`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.32.4) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.32.3...v0.32.4) ##### 🐞 Bug Fixes - **browser**: Correctly optimize CJS dependencies - by [@​sheremet-va](https://togithub.com/sheremet-va) [<samp>(3d090)</samp>](https://togithub.com/vitest-dev/vitest/commit/3d0908e7) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.32.3...v0.32.4) ### [`v0.32.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.32.3) [Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.32.2...v0.32.3) ##### 🚀 Features - Add `concurrent` option to `sequence` config - by [@​fenghan34](https://togithub.com/fenghan34) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3604](https://togithub.com/vitest-dev/vitest/issues/3604) [<samp>(f427f)</samp>](https://togithub.com/vitest-dev/vitest/commit/f427f004) - Introduce global configuration for retry setting - by [@​imentu](https://togithub.com/imentu) and [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3598](https://togithub.com/vitest-dev/vitest/issues/3598) and [https://github.com/vitest-dev/vitest/issues/3603](https://togithub.com/vitest-dev/vitest/issues/3603) [<samp>(9a117)</samp>](https://togithub.com/vitest-dev/vitest/commit/9a117627) - Don't rely on util package in [@​vitest/utils](https://togithub.com/vitest/utils) - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3685](https://togithub.com/vitest-dev/vitest/issues/3685) [<samp>(f91da)</samp>](https://togithub.com/vitest-dev/vitest/commit/f91da484) - Support accessing other fixtures in fixture function - by [@​fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/3651](https://togithub.com/vitest-dev/vitest/issues/3651) [<samp>(1621c)</samp>](https://togithub.com/vitest-dev/vitest/commit/1621cc63) - Support use function/class as `bench` name - by [@​fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/3711](https://togithub.com/vitest-dev/vitest/issues/3711) [<samp>(a749a)</samp>](https://togithub.com/vitest-dev/vitest/commit/a749a6c0) - **reporters**: Show full test suite when testing 1 spec file at a time - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/3543](https://togithub.com/vitest-dev/vitest/issues/3543) [<samp>(7531c)</samp>](https://togithub.com/vitest-dev/vitest/commit/7531c292) - **runner**: Support `test.extend` - by [@​fenghan34](https://togithub.com/fenghan34) in [https://github.com/vitest-dev/vitest/issues/3554](https://togithub.com/vitest-dev/vitest/issues/3554) [<samp>(2db1a)</samp>](https://togithub.com/vitest-dev/vitest/commit/2db1a737) ##### 🐞 Bug Fixes - Remove "concordance" from dependencies list - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3597](https://togithub.com/vitest-dev/vitest/issues/3597) [<samp>(969dc)</samp>](https://togithub.com/vitest-dev/vitest/commit/969dcc14) - Show diff correctly - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3620](https://togithub.com/vitest-dev/vitest/issues/3620) [<samp>(73dd4)</samp>](https://togithub.com/vitest-dev/vitest/commit/73dd4ab5) - Util import - by [@​fubhy](https://togithub.com/fubhy) in [https://github.com/vitest-dev/vitest/issues/3621](https://togithub.com/vitest-dev/vitest/issues/3621) [<samp>(2fb4c)</samp>](https://togithub.com/vitest-dev/vitest/commit/2fb4ceff) - Compat with frozen Math - by [@​turadg](https://togithub.com/turadg) in [https://github.com/vitest-dev/vitest/issues/3527](https://togithub.com/vitest-dev/vitest/issues/3527) [<samp>(0db67)</samp>](https://togithub.com/vitest-dev/vitest/commit/0db67098) - `CTRL+C` to terminate run - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3642](https://togithub.com/vitest-dev/vitest/issues/3642) [<samp>(fa663)</samp>](https://togithub.com/vitest-dev/vitest/commit/fa6637d3) - Run mode stuck in TTY terminals - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3690](https://togithub.com/vitest-dev/vitest/issues/3690) [<samp>(141a8)</samp>](https://togithub.com/vitest-dev/vitest/commit/141a86ac) - Use first stack frame in json reporter - by [@​tim-smart](https://togithub.com/tim-smart) in [https://github.com/vitest-dev/vitest/issues/3645](https://togithub.com/vitest-dev/vitest/issues/3645) [<samp>(80ea7)</samp>](https://togithub.com/vitest-dev/vitest/commit/80ea7ef6) - Print actual number for `toBeCalledTimes` - by [@​antfu](https://togithub.com/antfu) in [https://github.com/vitest-dev/vitest/issues/3696](https://togithub.com/vitest-dev/vitest/issues/3696) [<samp>(d3640)</samp>](https://togithub.com/vitest-dev/vitest/commit/d3640437) - **benchmark**: - Don't fail when running correct benchmarks - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3629](https://togithub.com/vitest-dev/vitest/issues/3629) [<samp>(edad9)</samp>](https://togithub.com/vitest-dev/vitest/commit/edad9b19) - **browser**: - Correctly print diff - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3627](https://togithub.com/vitest-dev/vitest/issues/3627) [<samp>(d756e)</samp>](https://togithub.com/vitest-dev/vitest/commit/d756ee24) - Esm injector doesn't replace class expressions - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3641](https://togithub.com/vitest-dev/vitest/issues/3641) [<samp>(5c0ac)</samp>](https://togithub.com/vitest-dev/vitest/commit/5c0ac4ad) - Transform superclass identifier - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3681](https://togithub.com/vitest-dev/vitest/issues/3681) [<samp>(a1e04)</samp>](https://togithub.com/vitest-dev/vitest/commit/a1e043bd) - **coverage**: - `v8` to prevent crash on dynamic CJS files - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3657](https://togithub.com/vitest-dev/vitest/issues/3657) [<samp>(40f18)</samp>](https://togithub.com/vitest-dev/vitest/commit/40f18a07) - **runner**: - Make the default value of `retry` and `repeats` 0 - by [@​Dunqing](https://togithub.com/Dunqing) in [https://github.com/vitest-dev/vitest/issues/3638](https://togithub.com/vitest-dev/vitest/issues/3638) [<samp>(6d146)</samp>](https://togithub.com/vitest-dev/vitest/commit/6d146d16) - **utils**: - Respect all flags in format function - by [@​sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3695](https://togithub.com/vitest-dev/vitest/issues/3695) [<samp>(91e16)</samp>](https://togithub.com/vitest-dev/vitest/commit/91e1650e) - **watch**: - Cancel using `h` key - by [@​AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3618](https://togithub.com/vitest-dev/vitest/issues/3618) [<samp>(60c36)</samp>](https://togithub.com/vitest-dev/vitest/commit/60c36faf) ##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.32.2...v0.32.3) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 10pm,before 6:00am" in timezone Europe/Warsaw, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/kamilkisiela/dependency-graph). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNDQuMiIsInVwZGF0ZWRJblZlciI6IjM3LjgxLjMiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
aka bring all Jest (V8) bugs into Vitest
The idea is to have a separate pool that will spawn workers with tinypool, but they will not be isolated. Isolation is introduced by
vm.createContext
inside the worker. For this, we need to implement our ownimport
handling. I think we should keep our__vitest_ssr_import__
because it is the only way to support both ESM/CJS in the same file in wrongly bundled dependencies.This is an optional pool! You need to opt-in to use it:
via CLI argument:
--experimental-vm-threads
(this will throw an error, if you use--threads
or--browser
at the same time)via config option:
run only a subset of files using this pool with
poolMatchGlob
You also cannot disable isolation when using
experimentalVm
, because this doesn't make sense with this pool. If you don't need isolation, usethreads
orchild_process
directly.vm
has a notable memory leak problem, so we are also introducingexperimentalVmWorkerMemoryLimit
option (works like Jest's workerIdleMemoryLimit to destroy the worker before it reaches this point. It is set tomax_heap/number_of_workers
by default. You might have better performance if you tweak this value manually.--experimental-vm-child-process
(experimentalVmChildProcess
) will be implemented in a separate PR.Pros:
Cons:
vm
modules nodejs/node#31658Breaking changes:
transformMode
(web
orssr
). If transform mode is not specified, it will throw an error