Update dependency vitest to v2 - autoclosed
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
vitest (source) | devDependencies | major | 1.6.0 -> 2.1.3 |
Release Notes
vitest-dev/vitest (vitest)
v2.1.3
🐞 Bug Fixes
- Fix error diff of
toBeNaN, toBeUndefined, toBeNull, toBeTruthy, toBeFalsy
- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6697 (e0027) -
browser:
- Provide aria role intellisense - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6629 (f36ea)
- Not.toBeInTheDocument works with locators API - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6634 (8bef5)
- Use
/mockServiceWorker.js
instead of/__vitest_msw__
- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6687 (4b2ce) - Don't override the esbuild option in the browser mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6692 (d131f)
-
expect:
- Preserve prototype in
toMatchObject
diff - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6620 (d289e)
- Preserve prototype in
-
mocker:
- Specify correct spy dependency - by @sheremet-va (7e958)
-
runner:
- Ensure sequential suite overrides sequence.concurrent - by @dsyddall and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6653 (5e6de)
-
vitest:
- Deprecate UserConfig in favor of ViteUserConfig - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6626 (496bd)
- Don't hang with maxConcurrency 0 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6627 (946d8)
- Deprecate old task types and node-reliant types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6632 (00045)
- Fix
<empty line>
logs when interleavingconsole.log/error
- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6644 (9ece3) - Show rollup error details as test error - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6686 (47dde)
- Always inline setup files - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6689 (19d64)
- Use
fast-glob
instead oftinyglobby
in Vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6688 (70baa)
-
web-worker:
- Share mocker with main executor - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6623 (fe7b8)
🏎 Performance
- Reuse full name in reported tasks, update generator types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6666 (7a0de)
View changes on GitHub
v2.1.2
🐞 Bug Fixes
- Move
Vitest.setServer
to postconfigureServer
hook to enable import analysis for workspace config loading - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6584 (e7f35) -
benchmark:
- Clear
BenchmarkResult.samples
array to reduce memory usage - by @hi-ogawa and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6541 (a6407)
- Clear
-
browser:
- Fix dynamic import inside worker - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6569 (ea2d4)
- Fix browser mock factory event race condition - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6530 (f131f)
- Serve ui assets as static - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6564 (adcda)
- Update solidjs testing library lib - by @CamilleTeruel in https://github.com/vitest-dev/vitest/issues/6548 (91442)
- Use
data:
protocol on preview provider file upload - by @userquin in https://github.com/vitest-dev/vitest/issues/6501 (e9821) - Fix base for client script - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6510 (f9528)
- Throw an error if "@vitest/browser/context" is imported outside of the browser mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6570 (383f1)
-
coverage:
- Remove empty coverage folder on test failure too - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6547 (1371c)
- Include
*.astro
by default - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6565 (f8ff7) -
cleanOnRerun: false
to invalidate previous results - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6592 (88bde)
-
expect:
- Fix
toBeDefined
withexpect.poll
- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6562 (f7da6)
- Fix
-
forks:
- Fix
--cpu-prof
and--heap-prof
not working by default - by @AriPerkkio in https://github.com/vitest-dev/vitest/pull/6555 (2e4d894)
- Fix
-
runner:
- Mark tests as skipped when
beforeAll
failed - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6524 (fb797) - Support fixture parsing of lowered async syntax - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6531 (b553c)
- Fix fixture parsing of lowered async syntax for non arrow functions - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6575 (3de00)
- Guard test hook callback - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6604 (14971)
- Run
onTestFinished
andonTestFailed
duringretry
andrepeats
- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6609 (c5e29)
- Mark tests as skipped when
-
ui:
- List tests on ui when
--standalone
- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6577 (d0bf8)
- List tests on ui when
-
vite-node:
- Fix esm false-detection inside comment - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6506 (91f85)
-
vitest:
- Install dependencies with the same version when prompted - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6611 (ed8b7)
- Make env.SSR consistent between different pools - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6616 (8a8d3)
- Don't start a websocket server if api is disabled - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6617 (82140)
-
workspace:
- Fix glob pattern detection - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6502 (7727c)
- Ignore DS_Store by default - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6571 (d2a86)
View changes on GitHub
v2.1.1
🐞 Bug Fixes
-
browser:
- Make example test callbacks async - by @aqandrew in https://github.com/vitest-dev/vitest/issues/6484 (16aa7)
- Optimize vitest-browser-vue correctly - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6490 (5cbb0)
-
workspace:
- Resolve glob pattern once to avoid name collision - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6489 (36b5a)
View changes on GitHub
v2.1.0
This release makes another big change to the Browser Mode by introducing locators API:
test('renders blog posts', async () => {
const screen = page.render(<Blog />)
await expect.element(screen.getByRole('heading', { name: 'Blog' })).toBeInTheDocument()
const [firstPost] = screen.getByRole('listitem').all()
await firstPost.getByRole('button', { name: 'Delete' }).click()
expect(screen.getByRole('listitem').all()).toHaveLength(3)
})
You can use either vitest-browser-vue, vitest-browser-svelte or vitest-browser-react to render components and make assertions using locators. Locators are also available on the page
object from @vitest/browser/context
.
Potential Breaking Change
-
workspace:
- Correctly resolve workspace globs and file paths - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6316 (afdcb)
- This changes how the custom glob pattern in the workspace config is treated. Any file matching the glob is considered a Vitest config file. Any folder matching the glob pattern is treated as a workspace project and is subject to the regular config resolution (single
vitest.config.ts
orvite.config.ts
inside the folder) - For example,
projects/*
will match anything inside theprojects
folder. If it's a folder, we try to find the config inside that folder (if there is none, it is still treated as a project with the default config). If it's a file, it will be treated as a Vitest config.projects/**/*
previously would assume that you only wanted to have folders as projects, but now it will match every single file insideprojects
. - This change doesn't affect non-glob usage.
🚀 Features
-
api:
- Make spec into a class instead of a tuple - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6355 (874a1)
-
browser:
- Move page.config to server.config, add more docs - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6252 (af2b8)
- Make iframe scalable, improve documentation - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6257 (74ca1)
- Introduce built-in locators - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6084 (3347f)
- Support v8 coverage - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6273 (34199)
- Support
userEvent.upload
in playwright provider - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6442 (cf148) - Support
--inspect
- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6433 (0499a) - Support
--inspect-brk
- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6434 (7ab0f)
-
cli:
- Extend existing list command to output only a list of file names - by @Ma-hawaj and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6392 (008f0)
-
coverage:
- Add
--exclude-after-remap
- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6309 (5932a)
- Add
-
mocker:
- Introduce @vitest/mocker package, allow
{ spy: true }
instead of a factory - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6289 (95f02)
- Introduce @vitest/mocker package, allow
-
vitest:
- Add "provide" option - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6253 (4409d)
- Add return type and promisable mockFactory - by @syi0808 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6139 (f5e0b)
- Add
vi.advanceTimersToNextFrame
- by @bnjm and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6347 (8ff63) - Allow env to be stubbed to undefined - by @JSanchezIO and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6359 (c3b27)
- Migrate from
fast-glob
totinyglobby
- by @SuperchupuDev in https://github.com/vitest-dev/vitest/pull/6274 (c321a)
🐞 Bug Fixes
- Correctly resolve nested mocks with
index
file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6266 (081cf) - Don't panic when coverage.reporter is a string - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6267 (7b37d)
- Align RawMatcherFn type definition with Jest - by @wheresrhys in https://github.com/vitest-dev/vitest/issues/6351 (d09f0)
- Cjs build of vite node server - by @AkaraChen in https://github.com/vitest-dev/vitest/issues/6389 (12e70)
- Allow inlining vite's cached dependencies - by @chriswheeldon-peakon in https://github.com/vitest-dev/vitest/issues/6284 (03208)
- Print unexpected error message if peer dependencies have a different version - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6446 (b992b)
- Ignore importer when resolving Vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6469 (0b447)
-
expect.getState().testPath
always returns correct path - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6472 (ac698) - UserEvent works consistently between providers - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6480 (0b4da)
-
browser:
- Print correct stack trace for unhandled errors - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6134 (1da6c)
- Use documentElement as the root for selector - by @sheremet-va (d8077)
- Keep querying elements even if locator is created with elementLocator, add pubic @vitest/browser/utils - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6296 (30dc5)
- Produce valid config file if preview provider is used - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6305 (7f0ae)
- Correctly run in-source tests in the browser - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6440 (c8531)
- Exclude missed packages from optimization, print help message - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6445 (8d883)
- Define mocker as a dependency - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6476 (9560a)
-
coverage:
- Warn if
vitest
and@vitest/*
versions don't match - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6317 (e662c) - V8 to support source maps with multiple sources - by @AriPerkkio and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6120 (1f6cb)
- V8 to warn instead of crash when conversion fails - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6318 (91dea)
- Use project specific
vitenode
for uncovered files - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6044 (da52d)
- Warn if
-
runner:
- Use
performance.now
instead ofDate.now
for duration - by @LuciNyan in https://github.com/vitest-dev/vitest/issues/6382 (fe489) - Async assertion auto await should timeout - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6391 (ad6e7)
- Use
-
snapshot:
- Reject multiple
toMatchInlineSnapshot
updates at the same location - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6332 (1606f) - Improve inline snapshot inside loop rejection - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6339 (e0368)
- Reject multiple
-
typecheck:
- Run both runtime and typecheck tests if
typecheck.include
overlaps withinclude
- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6256 (153ff)
- Run both runtime and typecheck tests if
-
types:
- Allow Callbacks Passed to before*/after* to Return Anything - by @LuciNyan in https://github.com/vitest-dev/vitest/issues/6393 (f6217)
-
ui:
- Remove "filters" flickering - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6463 (0223b)
- Render project name consistently - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6329 (94a18)
-
vite-node:
- Disable watcher if hmr is disabled - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6251 (c51c6)
- Fix watch on vite 6 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6422 (c3ac4)
-
vitest:
- Update json reporter output - by @Emiyaaaaa in https://github.com/vitest-dev/vitest/issues/6064 (c9979)
- Add more type guards for --merge-reports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6307 (0a5d8)
- Always resolve vitest to the root version - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6369 (163d7)
- Dispose vmForks listeners to avoid memory leak - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6448 (2673c)
View changes on GitHub
v2.0.5
🚀 Features
- Introduce experimental reported tasks - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6149 (13d85)
- This is part of the experimental API and doesn't follow semver. We are hoping to stabilize it for 2.1. If you are working with custom reporters, give this a go!
🐞 Bug Fixes
- Show a difference between string characters if both values are strings - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6191 (29176)
-
testNamePattern
adds leading space - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6186 (073a5) -
browser:
- Don't bundle
afterEach
cleanup hooks in node entrypoint - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6192 (e6fbc) - UserEvent.setup initiates a separate state for userEvent instance - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6088 (883f3)
- Correctly import optimized module in vi.importActual - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6219 (804ff)
- Passing options to hover/unhover - by @MNeverOff in https://github.com/vitest-dev/vitest/issues/6175 (d4c00)
- Improve unique CSS selector generation - by @zacharyvoase and Zack Voase in https://github.com/vitest-dev/vitest/issues/6243 (e7acd)
- Don't bundle
-
vitest:
- Remove nuxt from auto inline deps - by @sheremet-va (93882)
- Improve
defineProject
anddefineWorkspace
types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6198 (8cd82) - Correctly resolve mocked
node:*
imports in__mocks__
folder - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6204 (a48be)
-
web-worker:
- Expose globals on self - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6170 (12bb5)
View changes on GitHub
v2.0.4
🐞 Bug Fixes
- One-line environment options - by @hahanein in https://github.com/vitest-dev/vitest/issues/5105 (38269)
- Resolve assets imported with
require
- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6159 (807a2) -
browser:
- Don't panic if @vitest/browser is installed outside of project root - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6135 (ccfcd)
- Set global filepath - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6190 (0d0b4)
- Allow preview and open in the editor screenshot error from ui - by @userquin in https://github.com/vitest-dev/vitest/issues/6113 (2d620)
-
coverage:
- Global thresholds to include files from glob thresholds - by @thor-juhasz and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6172 (02e3f)
- Consistent type-only file handling - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6183 (90576)
- Ignore
*.cts
files - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6189 (5da45) - Add
thresholds.<glob>.100
option - by @thor-juhasz and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6174 (f6845)
-
spy:
- Fix
mockImplementation
for function overload and unions - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6181 (7a75b)
- Fix
View changes on GitHub
v2.0.3
🚀 Features
- ui: Show all suites/tests when parent matches - by @userquin in https://github.com/vitest-dev/vitest/issues/6106 (840e0)
🐞 Bug Fixes
-
--inspect-brk
stop on Windows - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6110 (f8519) -
browser:
- Don't import from "vite" - by @sheremet-va (35655)
- Allow immidiate reinvalidation of mocked dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6108 (f44cc)
-
spy:
- Fix type error when assigning
vi.spyOn
toMockInstance
of function overload - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6086 (e9f9a)
- Fix type error when assigning
-
vite-node:
- Remove suffix slash on file protocol for window - by @syi0808 in https://github.com/vitest-dev/vitest/issues/6109 (93ebd)
View changes on GitHub
v2.0.2
🐞 Bug Fixes
-
browser:
- Remove @vitest/runner > pretty-format from prebundling because it doesn't exist - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6075 (a169d)
- Inline pretty-format and replace picocolors with tinyrainbow - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6077 (80a43)
- Remove
crypto.randomUUID
from the client - by @userquin in https://github.com/vitest-dev/vitest/issues/6079 (04c83) - Correctly overwrite loupe require - by @sheremet-va (756ac)
- Dedupe @vitest/browser/client - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6081 (ee725)
- Don't release keyboard automatically - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6083 (58fac)
-
ui:
- Test files notified only when running - by @userquin in https://github.com/vitest-dev/vitest/issues/6069 (af7fe)
- Encode html entities in task name - by @userquin and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6070 (7f0cc)
-
web-worker:
- Peer dependency version on
vitest
- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6060 (95a2d)
- Peer dependency version on
🏎 Performance
- browser: Don't import msw if no modules are mocked - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6073 (aa527)
View changes on GitHub
v2.0.1
🐞 Bug Fixes
- browser: Correctly inherit browser config in a workspace - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6054 (4b03e)
- ui: Move virtual scroller to dev dependencies - by @userquin in https://github.com/vitest-dev/vitest/issues/6053 (f94ed)
- vitest: Print only running files, not every file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6052 (4d559)
View changes on GitHub
v2.0.0
Vitest 2.0 is here! This release page lists all changes made to the project during the beta. For the migration guide, please refer to the documentation.
🚨 Breaking Changes
- Simplify mock function generic types and align with jest - by @hi-ogawa in https://github.com/vitest-dev/vitest/pull/4784 (a0c1d37)
- Remove
--segfault-retry
- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5514 (ed60e)- This flag was introduced to combat
threads
segfaults. Our current recommendation is to use the new defaultforks
pool instead.
- This flag was introduced to combat
- Run suite hooks in a stack - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5609 (1277d)
- This feels like a more sensible default. Especially with the new
onTestFinished
hook. This can make your tests run a little bit slower.
- This feels like a more sensible default. Especially with the new
- Enable
coverage.ignoreEmptyLines
by default - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5543 (31994)-
⚠ ️ This change may cause significant differences in your coverage results compared to Vitest v1. These changes are expected as coverage reporting is now more accurate. See https://github.com/vitest-dev/vitest/issues/5423 for more details.
-
- Add correct location and snapshot fields in json reporter - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5434 (bcccc)
- Previously, the
location
field pointed to the error location instead of the test location. Now it is aligned with jest and contains theline
andcolumn
of a test function, but requiresincludeTaskLocation
to be enabled.
- Previously, the
- Update dependency chai to v5 - by renovate[bot] and @sheremet-va in https://github.com/vitest-dev/vitest/issues/5135 (73646)
- Remove watchExclude - by @patak-dev in https://github.com/vitest-dev/vitest/issues/5177 (d7371)
- Change default
pool
to'forks'
- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5047 (7f8f9)- This change is done for compatibility issues
- This pool may be slightly slower than previous
threads
pool: https://vitest.dev/guide/improving-performance.html#pool
-
--merge-reports
to support coverage - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5736 (b7438) - Add promise-based return assertions, do not auto-resolve returned promises - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5749 (5f710)
-
⚠ ️ Vitest no longer unwraps promises inspy.mock.returns
. If the function is async or returns a promise, it will always succeed and have aPromise
inresults
. To make migration easier, we introducedspy.mock.settledResults
that unwraps promises andexpect().toHaveResolved()
matcher that accepts unwrapped value.
-
- Do not exit process if global setup has failed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5726 (ddb09)
- Don't exit process if config failed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5715 (f232f)
- Add meta to
json
output - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5802 (dd754) - Rename
indexScripts
toorchestratorScripts
in the browser config - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5842 (49f34) - Add "vitest list" API to print collected tests without running them - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6013 (583dd)
-
⚠ ️ This changes the custompool
API - now requirescollectTests
method alongsiderunTests
.
-
- Remove the empty suite from the runner - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5435 (dbbbe)
- Support concurrent suites - by @hi-ogawa in https://github.com/vitest-dev/vitest/pull/5491 (222ce44)
- Support overriding
exclude
in coverage - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5997 (169bc)-
⚠ ️ Vitest coverage no longer adds test files toexclude
patterns ifcoverage.exclude
was overridden in the config. Add your test patterns manually, or merge your overrides with default ones:['**/my-pattern.js', ...coverageConfigDefaults.exclude]
. See https://vitest.dev/config/#coverage-exclude for an example.
-
-
api:
- Remove
process.exit
if workspace project failed to be created - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5804 (a820e) - Don't call
process.exit
manually - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5926 (e9b63)
- Remove
🚀 Features
-
browser:
-
🌐 This release lays the groundwork for the next iteration of Vitest Browser Mode. You can read more about our future plans at https://github.com/vitest-dev/vitest/discussions/5828 - Add commands to communicate betweens server and the browser - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5097 (aa431)
- Do not reload the page during watch mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5810 (e5b9a)
- Support changing the viewport - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5811 (71851)
- Add browser iframe mouse interaction - by @userquin in https://github.com/vitest-dev/vitest/issues/5815 (f29b9)
- Support
click
event - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5777 (839c3) - Rename none provider to preview, make it default - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5826 (18310)
- Run tests in parallel in headless mode, add
page.screenshot
method - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5853 (81c42) - Implement several
userEvent
methods, addfill
anddragAndDrop
events - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5882 (4dbea) - Introduce
expect.dom
method and bundlejest-dom
matchers with@vitest/browser
- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5910 (3a96a) - Expose CDP in the browser - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5938 (bec43)
- Add "init" command for browser tests - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5960 (49e97)
- Add an option to take screenshots if the browser test fails - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5975 (154cb)
- Add
tripleClick
to interactive api - by @userquin in https://github.com/vitest-dev/vitest/issues/5987 (200a4) - Playwright provider doesn't allow resizing the browser viewport - by @userquin and @sheremet-va in https://github.com/vitest-dev/vitest/issues/5984 (ff978)
-
- Pretty print diffs coming from cause - by @dubzzz in https://github.com/vitest-dev/vitest/issues/5660 (6faf8)
- Allow import statement as vi.mock path for better IDE support - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5690 (a99a1)
- Remove deprecated options - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5696 (5c308)
- Add blob reporter - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5663 (e2053)
-
✅ Run Vitest in separate processes with--reporter=blob
flag to generate reports and combine them withvitest --merge-reports
later!
-
- Add expect.poll utility - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5708 (e2e0f)
- Add browser.ui option - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5771 (a5033)
- Add median to
--output-json
- by @Joristdh in https://github.com/vitest-dev/vitest/issues/5745 (0766b) - Allow augmenting config.test.env - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5784 (b2469)
- Implement module mocking in browser mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5765 (7b2f6)
- Allow configuring expect options in the config - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5729 (fc53f)
- Add an option to print console stack trace - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5720 (e4fe6)
- Add browser frame to UI - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5808 (3796d)
- Image type add bmp - by btea in https://github.com/vitest-dev/vitest/issues/5921 (98f9b)
- Add an option to return base64 from page.screenshot - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5993 (be323)
- Expose
parseAst
,parseAstAsync
from vite - by @sheremet-va (f645e) -
config:
- Allow percentage value for workers option - by @syi0808 in https://github.com/vitest-dev/vitest/issues/5982 (b1a27)
-
runner:
- Implement
test.for
- by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/5861 (c2380)
- Implement
-
spy:
- Collect mock.contexts - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5955 (3b31a)
-
ui:
- Render tests in a tree - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5807 (7900f)
- Load module graph on tab selection - by @userquin in https://github.com/vitest-dev/vitest/issues/5844 (b117e)
- Replace navigation tree with test explorer - by @userquin in https://github.com/vitest-dev/vitest/issues/5907 (45dfc)
- Add initializing explorer logic - by @userquin in https://github.com/vitest-dev/vitest/issues/5941 (c31c4)
- Add action to explorer item to show the test/suite line in the source code tab - by @userquin and Anjorin Damilare in https://github.com/vitest-dev/vitest/issues/5948 (7ec29)
-
ws-client:
- Allow change reactive for state, filesMap and idMap - by @userquin in https://github.com/vitest-dev/vitest/issues/5906 (e6020)
🐞 Bug Fixes
- Print console statements in vmThreads - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5678 (34a80)
- Repeatable
--exclude
option - by @fregante in https://github.com/vitest-dev/vitest/issues/5782 (d6700) - Remove browser.fileParallelism - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5790 (b881e)
- Install UI icons - by @sheremet-va (b84f1)
- Vi.waitFor/vi.waitUntil interval is now cleared after it times out - by @pedro00dk in https://github.com/vitest-dev/vitest/issues/5875 (04107)
- ToJSON recursive error serialization - by @eddienubes in https://github.com/vitest-dev/vitest/issues/5848 and https://github.com/vitest-dev/vitest/issues/5884 (8d55d)
- Print error properties only in verbose reporter - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5917 (2bd8d)
- Use TTY reporter when running in Deno - by @marvinhagemeister in https://github.com/vitest-dev/vitest/issues/5972 (e0f45)
- Don't override uppercase - by @sheremet-va (caef4)
- Clear screen and scrollback on iTerm2 - by @kxalex in https://github.com/vitest-dev/vitest/issues/5978 (d7f23)
- Include pretty-format in @vitest/runner for optimization on npm - by @sheremet-va (42bd4)
- Transpile esnext to node18 to support newest JS and TS features - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/4409 (8f65a)
-
api:
- Correct
project.provide
type - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5959 (0eda9)
- Correct
-
browser:
- Display UI - by @sheremet-va (d41e4)
- Browser actions icons colors - by @userquin in https://github.com/vitest-dev/vitest/issues/5816 (f9d9b)
- Restore the original viewport when unselecting the preset viewport - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5821 (5ebb3)
- Don't get stuck after the manual page refresh - by @sheremet-va (2220b)
- Use iframe id instead of calculating it from filenames - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5823 (34a31)
- Always clean up iframes on rerun - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5827 (087fa)
- Support @testing-library/vue in browser mode out of the box - by @sheremet-va (76b82)
- Print correct transformed module graph - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5833 (a7581)
- Use
preview
provider when running in StackBlitz - by @userquin in https://github.com/vitest-dev/vitest/issues/5836 (76e13) - Specify entries for correct deps optimization - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5839 (c79b3)
- Allow iframe to load even if there is a custom CSP header - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5841 (caaaf)
- Don't optimize Vitest dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5843 (f15b4)
- Set server.open to false and move error handling after init - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5845 (47003)
- Show correct prepare time - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5852 (52d54)
- Resolve
coverage.reporter
from string values - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5920 (f33da) - Correctly update inline snapshot if changed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5925 (2380c)
- Remove "util" warning - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5935 (48f28)
- Remove hacky retry - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5971 (2a2c9)
- Make userEvent more stable when running in parallel - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5974 (14a21)
- Print screenshot path alongside the test error message - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5992 (15289)
- Print correct stack trace in source files - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6003 (62aa7)
- Correctly mock optimized cjs dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6035 (057b4)
- Support shadow root and svg elements - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6036 (2e3c8)
-
coverage:
- Clean up empty coverage reports directory - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5731 (c469c)
-
thresholds.autoUpdate
to supportmergeConfig
- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5818 (7afb3) - Pass thresholds errors to
stderr
ofstartVitest()
- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5954 (70805) - Exclude bench files from coverage - by @kouak in https://github.com/vitest-dev/vitest/issues/5983 (429e1)
- Vite to ignore dynamic import of provider - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5998 (6d884)
- Istanbul to support import attributes - by @Gravitonic in https://github.com/vitest-dev/vitest/issues/6006 (2898a)
- Remove work-around for implicit
else
- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6014 (368c1)
-
deps:
- Update dependency @testing-library/dom to v10 - by renovate[bot] in https://github.com/vitest-dev/vitest/issues/5866 (e9745)
- Update vulnerable
test-exclude
to v7 - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5867 (0a715)
-
expect:
- Fix immutable.js iterable equality - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/5692 (1532c)
-
forks:
- Resolve
poolOptions.<name>.isolate
fromforks
options - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/5840 (a60a1)
- Resolve
-
runner:
- Ensure inner suite { sequential: true } correctly overrides outer suite { concurrent: true } - by @pengooseDev in https://github.com/vitest-dev/vitest/issues/5737 (a20e7)
- Ensure test.each print -0 and -NaN properly - by @pengooseDev in https://github.com/vitest-dev/vitest/issues/5806 (9ac8f)
-
snapshot:
- Fix
toMatchFileSnapshot
with empty file - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/5894 (88006)
- Fix
-
spy:
- Correctly track constructor's "this" type - by @sheremet-va (4776e)
-
types:
- Mark pool options as not available in project config - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5934 (486fd)
-
ui:
- Show correct module graph and project name in a Vitest workspace - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5792 (48c50)
- Update running todo tests inside todo suites (each) - by @userquin in https://github.com/vitest-dev/vitest/issues/5939 (63ae1)
-
FileDetails
title status icon not being updated - by @userquin in https://github.com/vitest-dev/vitest/issues/5942 (e9ddf)
-
ui, browser:
- Disable mouse events when resizing main navigation panel - by @userquin in https://github.com/vitest-dev/vitest/issues/5863 (7cbd9)
-
utils:
- Produce valid snapshot names - by @dubzzz in https://github.com/vitest-dev/vitest/issues/5724 (1ec61)
- Fix color util maximum call stack error - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/5733 (a4ec5)
- Package exports - by @userquin in https://github.com/vitest-dev/vitest/issues/5847 (07876)
-
vite-node:
- Expose all envs from .env file, not just with a prefix
VITE_
- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6017 (d87be)
- Expose all envs from .env file, not just with a prefix
-
vitest:
- Expose
provide
to the public API - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5897 (66e64) - Cache fs code only for forks pool - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/5909 (e30d9)
- Allow testing unandled rejection/exception - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6016 (c8d56)
- Show all failed tests when rerunning a test - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6022 (91ba6)
- Expose
View changes on GitHub
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.