Skip to content
Merged

d2m #1021

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
500 commits
Select commit Hold shift + click to select a range
97be22a
[autofix.ci] apply automated fixes
autofix-ci[bot] Apr 9, 2026
f286921
docs(en): merge docs-cn/sync-docs into docs-cn/dev @ a141f9d4 (#955)
NoiseFan Apr 9, 2026
e421bb5
docs(en): merging all conflicts
docschina-bot Apr 9, 2026
a0f73c7
docs(cn): dissolve the conflict
NoiseFan Apr 10, 2026
c42cdf2
Merge pull request #959 from vitest-dev/sync-5755951b-1
NoiseFan Apr 10, 2026
1df9a43
docs: expand test filtering and parallelism docs (#10116)
sheremet-va Apr 10, 2026
50be918
docs(en): merging all conflicts
docschina-bot Apr 10, 2026
2cd65cc
docs(cn): dissolve the conflict
NoiseFan Apr 13, 2026
70ac233
Merge pull request #960 from vitest-dev/sync-1df9a43d-1
NoiseFan Apr 13, 2026
2c317bd
docs: improve learning section (#10140)
sheremet-va Apr 14, 2026
e29b046
Merge branch 'sync-docs' of https://github.com/vitest-dev/docs-cn int…
docschina-bot Apr 14, 2026
e7c76de
docs: fix trace-view.md hallucination (#10149)
hi-ogawa Apr 15, 2026
01b64e5
Merge branch 'sync-docs' of https://github.com/vitest-dev/docs-cn int…
docschina-bot Apr 15, 2026
12702e8
docs: mention `vi.resetModules` doesn't work with `viteModuleRunner: …
sheremet-va Apr 17, 2026
d8fd2c0
docs(en): merging all conflicts
docschina-bot Apr 17, 2026
6ff7972
fix: alias `agent` reporter to `minimal` (#10157)
sheremet-va Apr 20, 2026
2aae193
feat(coverage): istanbul to support `instrumenter` option (#10119)
BartWaardenburg Apr 20, 2026
132bb5f
docs(cn): dissolve the conflict
NoiseFan Apr 20, 2026
a981f33
Merge pull request #961 from vitest-dev/sync-12702e85-1
NoiseFan Apr 20, 2026
7d62aac
docs: update custom snapshot matcher example (#10169)
hi-ogawa Apr 21, 2026
30df941
docs(typo): fix doucment's some typo (#10083)
NoiseFan Apr 21, 2026
bceb252
refactor!: replace `loupe.inspect` with pretty-format (#9609)
hi-ogawa Apr 22, 2026
1f86109
feat: add `createReport` and `.vitest` report directory convention (#…
AriPerkkio Apr 22, 2026
d221c48
feat(browser): export aria tree utils (#10171)
hi-ogawa Apr 23, 2026
ec964f3
feat(browser): support dom snapshot trace view (#10102)
hi-ogawa Apr 23, 2026
6ec637b
docs(en): merging all conflicts
docschina-bot Apr 23, 2026
484c532
docs(cn): dissolve the conflict
NoiseFan Apr 24, 2026
e79cdf6
Merge pull request #965 from vitest-dev/sync-ec964f36-1
NoiseFan Apr 24, 2026
bf7524b
fix: global `sequence.concurrent: true` with top-level `test(..., { c…
hi-ogawa Apr 25, 2026
759296d
docs(cn): complement the missing translation (#958)
NoiseFan Apr 26, 2026
8241fd0
docs: document v5 migration changes for #9609 and #10170 (#10200)
hi-ogawa Apr 26, 2026
853e1c2
fix!: default `attachmentsDir` from `.vitest-attachements/` to `.vite…
MdSadiqMd Apr 26, 2026
f28efd4
refactor!: remove `sequential` test/suite options in favor of `concur…
hi-ogawa Apr 27, 2026
7daeb00
feat(browser): provide project reference in `ToMatchScreenshotResolve…
macarie Apr 27, 2026
00c87ce
feat(coverage): v8 to track `node:child_process` and `node:worker_thr…
AriPerkkio Apr 27, 2026
6c3732e
refactor: inline snapshot package (#10210)
sheremet-va Apr 27, 2026
d959548
feat: expose default reporters through `configDefaults.reporters` (#1…
hi-ogawa Apr 28, 2026
a623a2f
fix!: represent locator as an object instead of a string (#10212)
sheremet-va Apr 28, 2026
56e853e
fix!: remove deprecated entry points (#10222)
sheremet-va Apr 29, 2026
ad185a8
feat(junit-reporter): add jest-junit-compatible naming options (#10189)
neumaennl Apr 29, 2026
facf198
docs: clarify order of `before*` hooks cleanup functions (#10230)
AriPerkkio May 3, 2026
40c66e8
docs(en): merging all conflicts
docschina-bot May 3, 2026
1959b05
feat: support merge reports for non-sharded multi-environment runs (t…
hi-ogawa May 4, 2026
829251f
fix(reporters)!: `blob` reporter and `--merge-reports` default to `.v…
AriPerkkio May 4, 2026
39eca16
docs(cn): dissolve the conflict
NoiseFan May 4, 2026
535bba2
Merge pull request #967 from vitest-dev/sync-facf1987-1
NoiseFan May 4, 2026
8f02296
docs(en): merging all conflicts
docschina-bot May 4, 2026
4b40403
docs(cn): dissolve the conflict
NoiseFan May 5, 2026
61f1377
Merge pull request #969 from vitest-dev/sync-829251fd-1
NoiseFan May 5, 2026
c199740
docs: add raul to the team, update order, fix patak avatar (#10273)
sheremet-va May 5, 2026
28847da
Merge branch 'sync-docs' of https://github.com/vitest-dev/docs-cn int…
docschina-bot May 5, 2026
9dac0cd
feat(api): expose logs recorded during the test (#10277)
sheremet-va May 6, 2026
7176033
docs(en): merging all conflicts
docschina-bot May 6, 2026
8a09f2e
docs: fix `mock.instances` docs example to use a constructible mock i…
Copilot May 7, 2026
349422d
feat!: require Node.js 22 and Vite 6.4 (#10178)
sheremet-va May 7, 2026
b2af5d5
fix!: fail `expect.poll` when function didn't resolve in time (#10233)
hi-ogawa May 7, 2026
93d506c
docs: document how to workaround bad packages that fail to load as ex…
hi-ogawa May 7, 2026
c41c5d2
docs(cn): dissolve the conflict
NoiseFan May 7, 2026
4393761
Merge pull request #970 from vitest-dev/sync-9dac0cd8-1
NoiseFan May 7, 2026
86eec75
feat(browser): show aria tree on locator element error (#10257)
hi-ogawa May 8, 2026
1a64d60
docs: `frameLocator` and cross-origin iframes caveat (#10298)
AriPerkkio May 8, 2026
e2268ef
docs(en): merging all conflicts
docschina-bot May 8, 2026
f0f99d3
docs(cn): dissolve the conflict
NoiseFan May 9, 2026
3530b69
Merge pull request #972 from vitest-dev/sync-1a64d60c-1
NoiseFan May 9, 2026
93797be
feat(browser): support custom `kind` in `page.mark` (#10302)
AriPerkkio May 11, 2026
72e981b
Merge branch 'sync-docs' of https://github.com/vitest-dev/docs-cn int…
docschina-bot May 11, 2026
1fad5fa
feat(browser): live update trace view on watch UI (#10296)
hi-ogawa May 12, 2026
7df7a65
feat(browser): add `context.mark` for custom command tracing (#10329)
AriPerkkio May 12, 2026
ea5391c
fix: make `attachmentsDir` root only config (#10334)
hi-ogawa May 13, 2026
9b9d74f
docs(en): merging all conflicts
docschina-bot May 13, 2026
4853352
docs(cn): dissolve the conflict
NoiseFan May 14, 2026
0f69d34
Merge pull request #974 from vitest-dev/sync-ea5391c0-1
NoiseFan May 14, 2026
4213bb0
docs(cn): update home page translate (#977)
NoiseFan May 16, 2026
c163fc2
docs(cn): update guide (#976)
NoiseFan May 17, 2026
95a2125
docs(cn): update guide/browser/aria-snapshots.md (#979)
NoiseFan May 17, 2026
a5e03a6
docs(cn): update home page translate (#978)
NoiseFan May 17, 2026
ac4f240
docs(cn): update /guide (#980)
NoiseFan May 17, 2026
d6c4d52
feat: support typescript build mode (#9870)
lishaduck May 17, 2026
ed7a02e
Merge branch 'sync-docs' of https://github.com/vitest-dev/docs-cn int…
docschina-bot May 17, 2026
23f950c
docs: use unified `<Experimental>` label (#10372)
NoiseFan May 18, 2026
899ff05
docs: mention xvfb for headful WebdriverIO Chrome (#10358)
MukundaKatta May 18, 2026
da84e09
docs(cn): update guide/browser/playwright-traces.md (#981)
NoiseFan May 18, 2026
ff03f13
fix(deps): update fake-timers to 15.3.2. support `toNotFake` (#10043)
BPScott May 18, 2026
0a829fd
ci: update node-version to 24 by default (#10379)
sheremet-va May 18, 2026
3a51312
docs: update guide sidebar, add more recipes (#10226)
sheremet-va May 18, 2026
0468f40
docs(en): merging all conflicts
docschina-bot May 18, 2026
1f8967a
docs(cn): dissolve the conflict
NoiseFan May 19, 2026
9ba19bb
Merge pull request #982 from vitest-dev/sync-3a513123-1
NoiseFan May 19, 2026
8a0f551
docs: fix the file extension glob pattern (#10366)
ghazi-git May 19, 2026
8564192
Merge branch 'sync-docs' of https://github.com/vitest-dev/docs-cn int…
docschina-bot May 19, 2026
14077ca
feat(reporter): support html reporter single file output (#10235)
hi-ogawa May 21, 2026
bac7cfd
fix: respect `disableConsoleIntercept` in browser mode (#10391)
Copilot May 22, 2026
68b5e1d
docs(en): merging all conflicts
docschina-bot May 22, 2026
b636e4f
docs: add releases page (#10432)
sheremet-va May 23, 2026
6ddec48
feat(browser)!: enable `locators.exact` by default (#10430)
sheremet-va May 23, 2026
74a1921
docs(cn): dissolve the conflict
NoiseFan May 23, 2026
6ee832c
Merge pull request #984 from vitest-dev/sync-bac7cfdc-1
NoiseFan May 23, 2026
da7ec28
docs(cn): update config/disableconsoleintercept.md (#985)
NoiseFan May 23, 2026
988854f
fix: forceRerunTriggers uses directory globs against files (fix #1042…
Patrick-Clausen May 23, 2026
b845806
docs: update vitest-browser-vue/svelte async render (#10441)
hi-ogawa May 24, 2026
a9a776d
docs(en): merging all conflicts
docschina-bot May 24, 2026
b03beab
docs: add custom browser command example to show how to validate inpu…
hi-ogawa May 25, 2026
57422b2
docs(cn): dissolve the conflict
NoiseFan May 25, 2026
7e55c44
fix: lint error
NoiseFan May 25, 2026
06927ea
[autofix.ci] apply automated fixes
autofix-ci[bot] May 25, 2026
1216d23
docs(en): merge docs-cn/sync-docs into docs-cn/dev @ b8458066 (#987)
NoiseFan May 25, 2026
c59e171
docs: update sponsors (#10462)
sheremet-va May 26, 2026
fb3dfb6
fix(browser): disable client `cdp` API when `allowWrite/allowExec: fa…
hi-ogawa May 28, 2026
a520cb5
feat(benchmark)!: rewrite the public API (#10113)
sheremet-va May 29, 2026
f5fcf27
feat!: `toHaveTextContent` is strict, add `toMatchTextContent` as alt…
sheremet-va May 30, 2026
43546c5
docs: fix grammar & sentence fragments in intro (#10487)
BonaventureCJ Jun 1, 2026
95a42b8
feat(coverage): `thresholds.autoUpdate` to receive previous threshold…
wouterkroes Jun 1, 2026
a91f689
docs(en): merging all conflicts
docschina-bot Jun 2, 2026
1b4986d
docs: clarify placeholder usage (#10496)
BonaventureCJ Jun 2, 2026
936ed6d
docs(cn): dissolve the conflict
NoiseFan Jun 2, 2026
f399b31
[autofix.ci] apply automated fixes
autofix-ci[bot] Jun 2, 2026
a405655
fix!: don't lookup config file from ancestor directories (#10428)
hi-ogawa Jun 2, 2026
78ee299
docs(browser): re-word browser mode development status (#10509)
matthewbordas Jun 2, 2026
98b087e
Merge pull request #988 from vitest-dev/sync-95a42b87-1
NoiseFan Jun 2, 2026
fa7b917
feat!: inline `@vitest/runner` package, do not publish it anymore (#1…
sheremet-va Jun 3, 2026
e7f7953
fix!: allow mutating happy-dom/jsdom window object (#10373)
hi-ogawa Jun 4, 2026
dcc6047
docs(en): merging all conflicts
docschina-bot Jun 5, 2026
55cfbb7
docs(cn): dissolve the conflict
NoiseFan Jun 5, 2026
b5bad7d
docs(cn): fix translation in guide/index.md
dogledogle Jun 5, 2026
3857759
Merge pull request #992 from vitest-dev/sync-e7f79533-1
NoiseFan Jun 5, 2026
1772c68
feat: add custom containers type localization translation (#993)
NoiseFan Jun 5, 2026
3afc010
feat!: expose `concurrencyId`/`workerId` on TestModule's diagnostics,…
sheremet-va Jun 6, 2026
156801c
Merge branch 'sync-docs' of https://github.com/vitest-dev/docs-cn int…
docschina-bot Jun 6, 2026
4fa791b
docs: document the assertion function limitation in in-source testing…
koutaro-masaki Jun 7, 2026
2faf0d3
feat(cli): add `--repeats` CLI option (#10504)
todor-a Jun 7, 2026
835ab3b
fix(browser)!: require `sessionId` for orchestrator html request (#10…
hi-ogawa Jun 8, 2026
8430ac3
docs(guide): clarify beforeEach state isolation (#10512)
BonaventureCJ Jun 8, 2026
03a8845
docs(en): merging all conflicts
docschina-bot Jun 8, 2026
1567992
docs(cn): dissolve the conflict
NoiseFan Jun 9, 2026
287d45f
Merge pull request #995 from vitest-dev/sync-8430ac3c-1
NoiseFan Jun 9, 2026
89a0dbd
feat(coverage)!: allow `thresholds.perFile` to accept an object (#10190)
vladlenskiy Jun 10, 2026
9e4ac7b
docs(en): merging all conflicts
docschina-bot Jun 11, 2026
371e030
docs(cn): dissolve the conflict
NoiseFan Jun 11, 2026
bcf195a
Merge pull request #996 from vitest-dev/sync-89a0dbd2-1
NoiseFan Jun 11, 2026
0790508
docs: update Visual Regression Testing guide (#10514)
macarie Jun 11, 2026
356d1f6
docs(en): merging all conflicts
docschina-bot Jun 12, 2026
ec0ec2c
docs(cn): dissolve the conflict
NoiseFan Jun 12, 2026
1c03603
Merge pull request #997 from vitest-dev/sync-07905088-1
NoiseFan Jun 12, 2026
941b14f
docs: prefer test.for over test.each (#10588)
BonaventureCJ Jun 13, 2026
bbf1f06
docs(en): merging all conflicts
docschina-bot Jun 14, 2026
44e1b52
docs(cn): dissolve the conflict
NoiseFan Jun 14, 2026
a29ea1b
Merge pull request #998 from vitest-dev/sync-941b14f8-1
NoiseFan Jun 14, 2026
1889065
feat(vitest): create `vi.when()` (#10174)
macarie Jun 18, 2026
390a1bd
docs: add Deno to install instructions (#10614)
bartlomieju Jun 18, 2026
d2a96ea
fix(ui)!: harden UI API access (#10583)
hi-ogawa Jun 19, 2026
83c20df
feat(ui)!: change html reporter default output to `.vitest` (#10620)
hi-ogawa Jun 19, 2026
f784aae
docs(en): merging all conflicts
docschina-bot Jun 20, 2026
ddd2178
docs(cn): dissolve the conflict
NoiseFan Jun 20, 2026
b202296
Merge pull request #1000 from vitest-dev/sync-83c20df0-1
NoiseFan Jun 20, 2026
368baa8
docs(cn): translate /guide (#1001)
NoiseFan Jun 21, 2026
47d8acd
fix(types): allow `changed` in configuration options (#10651)
AriPerkkio Jun 23, 2026
c03658b
chore(deps): bump playwright to 1.61 (#10624)
hi-ogawa Jun 24, 2026
7ce3b2b
chore(deps): update eslint packages (#9825)
renovate[bot] Jun 24, 2026
c1236c2
feat!: add `screenshotDirectory` config to `browser.expect.toMatchScr…
macarie Jun 24, 2026
72cdde3
feat(reporters)!: write json and junit reporter output files to `.vit…
hi-ogawa Jun 25, 2026
cd258b0
docs(uninstall): remove fathom (#10660)
mdong1909 Jun 25, 2026
e3aa022
fix: fix per-project `sequence` config (#10659)
hi-ogawa Jun 25, 2026
0e7b40f
feat!: update `@sinonjs/fake-timers` and support mocking `Temporal` (…
hi-ogawa Jun 26, 2026
713f80c
docs: clarify how istanbul coverage works (#10652)
ghostdevv Jun 28, 2026
c197701
docs(cn): update /guide/recipes (#1002)
NoiseFan Jun 28, 2026
69ca8a4
refactor!: remove webdriverio package (#10675)
sheremet-va Jun 30, 2026
86f66d5
feat!: clear mocks by default before each test (#10613)
sheremet-va Jun 30, 2026
7ddec74
docs: update migration guide (#10682)
sheremet-va Jul 1, 2026
9ddfb46
fix: don't print column in test names when `includeTaskLocation` is e…
sheremet-va Jul 1, 2026
41871de
fix!: don't emit localStorage warnings on Node 26, fail gracefully wh…
sheremet-va Jul 1, 2026
dc33d64
docs: remove vite+ alpha banner (#10703)
mdong1909 Jul 3, 2026
a6366b8
docs(en): merging all conflicts
docschina-bot Jul 3, 2026
e31ddef
refactor!: separate config resolution from the server creation (#10554)
sheremet-va Jul 7, 2026
06a3ac9
feat: add toggable `injectCjsGlobals` option (#10709)
sheremet-va Jul 8, 2026
494f678
perf: make the Node compile cache opt-in, persist worker caches on te…
sheremet-va Jul 9, 2026
fbeaae0
docs(cn): dissolve the conflict
NoiseFan Jul 10, 2026
12faebf
docs(cn): dissolve the conflict
NoiseFan Jul 10, 2026
60996c4
Merge pull request #1004 from vitest-dev/sync-dc33d649-1
NoiseFan Jul 10, 2026
591f4db
perf(browser): stop serving framework sourcemaps in headless runs (#1…
sheremet-va Jul 14, 2026
813b6be
docs: add latitude to sponsors (#10771)
sheremet-va Jul 14, 2026
614cdaa
feat: promote fsModuleCache to a top-level option (#10734)
sheremet-va Jul 20, 2026
d3cf098
docs: update latitude logo (#10802)
sheremet-va Jul 20, 2026
6f468ba
docs: fix styling of logos (#10806)
sheremet-va Jul 21, 2026
7eeb95c
feat(benchmark): add pluggable benchmark provider API (#10799)
GuillaumeLagrange Jul 22, 2026
b417e1f
fix(browser): mock window.print to avoid hanging (fix #7375) (#10798)
aaravjaichand Jul 23, 2026
05d82ab
feat(cli): support -p shorthand for --project (#10826)
sheremet-va Jul 24, 2026
dee42cd
refactor: deduplicate run-level option propagation and document the r…
sheremet-va Jul 24, 2026
3987c94
feat!: inline projects extend the root config by default (#10750)
sheremet-va Jul 27, 2026
22d6e3f
fix(deps): update all non-major dependencies (#9958)
renovate[bot] Jul 28, 2026
ad3a423
chore: add Knip checks (#10847)
sheremet-va Jul 28, 2026
7b67107
chore(deps): update shiki monorepo to v4 (#10625)
renovate[bot] Jul 28, 2026
0098755
feat!: enable mocking Temporal without fake timers (#10757)
fabon-f Jul 29, 2026
eecf58f
feat(types)!: add better promise support in expects and matchers (#8266)
samchungy Jul 29, 2026
af8ee5a
feat!: support nested projects (#10846)
sheremet-va Jul 30, 2026
4b5a646
docs(en): merging all conflicts
docschina-bot Aug 1, 2026
814b631
docs(cn): dissolve the conflict
NoiseFan Aug 2, 2026
637c76e
chore: update dependencies
NoiseFan Aug 2, 2026
41c2534
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 2, 2026
26e9dc4
Merge pull request #1007 from vitest-dev/sync-af8ee5a7-1
NoiseFan Aug 2, 2026
c18a924
fix(deps): update all non-major dependencies (#10861)
renovate[bot] Aug 3, 2026
4ec3766
fix!: use `>` as separator in `-t`, calculate `only` once (#10686)
sheremet-va Aug 4, 2026
8bd62ec
docs: explain vm pool worker recycling cost (#10855)
sheremet-va Aug 4, 2026
8359171
docs(en): merging all conflicts
docschina-bot Aug 4, 2026
7863e54
feat!: fail the test when an asynchronous assertion is not awaited (#…
sheremet-va Aug 5, 2026
039ef71
docs(cn): dissolve the conflict
NoiseFan Aug 7, 2026
2b789cc
Merge pull request #1009 from vitest-dev/sync-8bd62ec3-1
NoiseFan Aug 7, 2026
2e1be0c
feat(vm): support `require(esm)` in vm pools (#10829)
sheremet-va Aug 7, 2026
e512e7c
feat: report the duration breakdown as percentages (#10820)
sheremet-va Aug 7, 2026
0eb7ed8
docs(cn): update /config document (#1010)
NoiseFan Aug 9, 2026
a8ea434
docs(cn): update /guide (#1011)
NoiseFan Aug 9, 2026
9a58eea
docs(cn): update /guide/recipes (#1012)
NoiseFan Aug 9, 2026
3e063df
chore(deps): update dependency @antfu/ni to v30 (#10900)
renovate[bot] Aug 10, 2026
5ae4afd
docs: add TestMu AI to sponsors (#10904)
sheremet-va Aug 10, 2026
c890a47
feat!: share the Vite server between inline projects (#10848)
sheremet-va Aug 10, 2026
c6f5073
docs(browser): clarify special keys supported by userEvent.keyboard (…
shoaibyazdani Aug 11, 2026
7b607b0
fix(deps): update all non-major dependencies (#10898)
renovate[bot] Aug 11, 2026
726132d
fix(spy)!: preserve class mock prototype methods on instances (#10910)
sheremet-va Aug 11, 2026
fd768f0
docs: normalize ordered list number (#10895)
NoiseFan Aug 11, 2026
fe2fbfe
fix(snapshot): support no-unsafe-eval CSP by evaluating snapshot file…
hi-ogawa Aug 12, 2026
fedaf1b
feat(reporter): add custom GitHub Actions summary title (#10891)
heyJonBray Aug 12, 2026
d3697b6
docs: update migration guide (#10930)
sheremet-va Aug 12, 2026
79532d4
refactor(projects): cleanup comments, add more `debug` statements (#1…
sheremet-va Aug 14, 2026
4511691
fix(browser): disallow filter-only options in getBy* locators (fix #1…
Aug 14, 2026
2ded62f
fix(deps): update all non-major dependencies (#10966)
renovate[bot] Aug 17, 2026
5d198e2
chore: update agents file (#10952)
sheremet-va Aug 17, 2026
250585b
fix(reporters): display `test.name` in GitHub Actions reporter summar…
macarie Aug 17, 2026
253cea0
fix(snapshot): reject when `toMatchFileSnapshot` uses same snapshot f…
hi-ogawa Aug 18, 2026
1c2d55e
fix: combine multiple --project filters correctly (#10988)
sheremet-va Aug 18, 2026
2329ad4
docs: document expect.fail method (#11003)
AbhiPra24 Aug 19, 2026
0fce92b
docs: add cjs support status in common errors (#11002)
hi-ogawa Aug 19, 2026
b1ac9a6
feat(coverage): switch to `@vitest/istanbuljs` packages (#11053)
AriPerkkio Aug 26, 2026
8eea09d
fix(deps): update all non-major dependencies (#11043)
renovate[bot] Aug 26, 2026
caeb505
perf(vm): let environments opt out of the module graph prewarm (#11078)
sheremet-va Aug 28, 2026
10cf95d
feat: promote parseSpecifications out of experimental (#11087)
sheremet-va Aug 28, 2026
e885753
docs: document TZ limitation in thread pools (#11098)
sheremet-va Aug 29, 2026
e7065fe
feat: promote clearCache out of experimental (#11086)
sheremet-va Aug 29, 2026
a41164c
feat!: parse files statically in vitest list by default (#11088)
sheremet-va Aug 31, 2026
2793529
docs(en): merging all conflicts
docschina-bot Sep 1, 2026
3db6bc6
docs(cn): dissolve the conflict
NoiseFan Sep 1, 2026
7b5aede
Merge pull request #1015 from vitest-dev/sync-a41164ca-1
NoiseFan Sep 1, 2026
a1e8cf5
perf(spy): avoid scanning cleared mocks (#11092)
scttcper Sep 2, 2026
a0460f7
docs: split migration into multiple pages, add a button to copy the p…
sheremet-va Sep 3, 2026
b7bd706
docs: add blog post for Vitest 5 (#11076)
sheremet-va Sep 3, 2026
d3f2018
docs: fix migration links (#11133)
sheremet-va Sep 3, 2026
7645a4e
docs: mention vitest doctor in the blog post (#11134)
sheremet-va Sep 3, 2026
752f075
docs: mention default diagnostics (#11135)
sheremet-va Sep 3, 2026
7c2b2ae
docs(en): merging all conflicts
docschina-bot Sep 4, 2026
750da1b
docs(cn): dissolve the conflict
NoiseFan Sep 5, 2026
c77881d
Merge pull request #1017 from vitest-dev/sync-752f075b-1
NoiseFan Sep 5, 2026
1848df3
docs(cn): update /guide (#1019)
NoiseFan Sep 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<!-- 感谢你的贡献! -->

### 在提交PR之前,请确保您执行以下操作:
### 在提交PR之前,请确保你执行以下操作:
- [ ] 曾阅读过[翻译须知](https://github.com/vitest-dev/docs-cn/issues/391)。
- [ ] 检查是否已经有PR以同样的方式解决问题,以避免创建重复。
- [ ] 在此PR中描述正在解决的问题,或引用它解决的问题(例如:`fixes #123`)。

---

### 描述
<!-- 请在此处插入您的描述,并提供有关此PR正在解决的 “内容” 的特别信息 -->
<!-- 请在此处插入你的描述,并提供有关此PR正在解决的 “内容” 的特别信息 -->

### 附加上下文
<!-- 例如,你有什么想让代码审核的人重点关注的内容。 -->
4 changes: 2 additions & 2 deletions .github/workflows/autofix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ jobs:
timeout-minutes: 10

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Use Node.js lts/*
uses: actions/setup-node@v4
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: lts/*

Expand Down
4 changes: 2 additions & 2 deletions .vitepress/components/Advanced.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>
<Badge type="danger" title="This is an advanced API intended for library authors and framework integrations. Most users should not need this." class="advanced-badge">
advanced
<Badge type="danger" title="这是一个面向库作者和框架集成的进阶 API,大多数用户无需使用此功能。" class="advanced-badge">
高级 API
</Badge>
</template>

Expand Down
56 changes: 56 additions & 0 deletions .vitepress/components/ChangelogButton.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<script setup lang="ts">
import { Icon } from '@iconify/vue'

defineProps<{
href: string
}>()
</script>

<template>
<a :href="href" class="changelog-button" target="_blank" rel="noopener noreferrer">
<Icon icon="carbon:document" aria-hidden="true" />
<span>Changelog</span>
<Icon icon="carbon:arrow-up-right" class="external-icon" aria-hidden="true" />
</a>
</template>

<style scoped>
.changelog-button {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.625rem 0.875rem;
border: 1px solid var(--vp-c-divider);
border-radius: 0.5rem;
background: var(--vp-c-bg-soft);
color: var(--vp-c-text-1);
font-size: 0.875rem;
font-weight: 600;
line-height: 1.25rem;
text-decoration: none;
transition: background-color 150ms, border-color 150ms, transform 150ms;
}

.changelog-button:hover {
border-color: color-mix(in srgb, var(--color-brand) 55%, transparent);
background: color-mix(in srgb, var(--color-brand) 8%, var(--vp-c-bg-soft));
color: var(--vp-c-text-1);
transform: translateY(-1px);
}

.changelog-button:focus-visible {
outline: 2px solid var(--color-brand);
outline-offset: 3px;
}

.changelog-button svg {
width: 1rem;
height: 1rem;
}

.changelog-button .external-icon {
width: 0.75rem;
height: 0.75rem;
color: var(--vp-c-text-2);
}
</style>
65 changes: 65 additions & 0 deletions .vitepress/components/CopyPrompt.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<script setup lang="ts">
import { Icon } from '@iconify/vue'
import { computed, ref } from 'vue'

const props = defineProps<{
prompt: string
}>()

const state = ref<'idle' | 'copied' | 'error'>('idle')
const label = computed(() => state.value === 'copied' ? 'Copied' : 'Copy prompt')

async function copyPrompt() {
try {
await navigator.clipboard.writeText(props.prompt)
state.value = 'copied'
}
catch {
state.value = 'error'
}
}
</script>

<template>
<button type="button" class="copy-prompt" @click="copyPrompt">
<Icon :icon="state === 'copied' ? 'carbon:checkmark' : 'carbon:copy'" aria-hidden="true" />
<span>{{ label }}</span>
</button>
<span class="sr-only" role="status" aria-live="polite">
{{ state === 'copied' ? 'Prompt copied to clipboard.' : state === 'error' ? 'Could not copy prompt.' : '' }}
</span>
</template>

<style scoped>
.copy-prompt {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.625rem 0.875rem;
border: 1px solid color-mix(in srgb, var(--color-brand) 45%, transparent);
border-radius: 0.5rem;
background: color-mix(in srgb, var(--color-brand) 10%, transparent);
color: var(--vp-c-text-1);
font-size: 0.875rem;
font-weight: 600;
line-height: 1.25rem;
cursor: pointer;
transition: background-color 150ms, border-color 150ms, transform 150ms;
}

.copy-prompt:hover {
border-color: var(--color-brand);
background: color-mix(in srgb, var(--color-brand) 16%, transparent);
transform: translateY(-1px);
}

.copy-prompt:focus-visible {
outline: 2px solid var(--color-brand);
outline-offset: 3px;
}

.copy-prompt svg {
width: 1rem;
height: 1rem;
}
</style>
2 changes: 1 addition & 1 deletion .vitepress/components/Deprecated.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<template>
<Badge type="danger">
deprecated
弃用
</Badge>
</template>
2 changes: 1 addition & 1 deletion .vitepress/components/Experimental.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>
<Badge type="warning" title="This feature is experimental and does not follow SemVer." class="experimental-badge">
experimental
实验性
</Badge>
</template>

Expand Down
6 changes: 2 additions & 4 deletions .vitepress/components/FeaturesList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import ListItem from './ListItem.vue'
<ul class="features-list" dir="auto">
<ListItem>
<a target="_blank" href="https://vitejs.dev" rel="noopener noreferrer">Vite</a>
<a target="_blank" href="https://cn.vitejs.dev" rel="noopener noreferrer">Vite</a>
通用的配置、转换器、解析器和插件。
</ListItem>
<ListItem>使用与你的应用相同的设置来运行测试!</ListItem>
Expand Down Expand Up @@ -36,9 +36,7 @@ import ListItem from './ListItem.vue'
<a target="_blank" href="https://jestjs.io/zh-Hans/docs/expect" rel="noopener noreferrer">Jest expect</a> API
</ListItem>
<ListItem>
内置
<a target="_blank" href="https://github.com/Aslemammad/tinyspy" rel="noopener noreferrer">Tinyspy</a> 用于对象
Mock
兼容 Jest 对象模拟
</ListItem>
<ListItem>
使用
Expand Down
16 changes: 9 additions & 7 deletions .vitepress/components/ListItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ function reset() {
const color = computed(() => {
return {
'--vp-c-brand-1': state.value === 1
? '#66ba1c'
? 'var(--color-brand)'
: state.value === 2
? 'rgba(248, 113, 113)'
: 'rgba(250, 204, 21)',
? 'var(--vp-c-red-1)'
: 'var(--vp-c-yellow-1)',
} as any
})

Expand All @@ -42,7 +42,9 @@ onMounted(async () => {
<li :style="color">
<div ref="el" class="icon-container">
<div class="icon-wrapper" :class="state ? 'flip' : ''">
<Icon icon="carbon:circle-dash" class="icon-spinner" width="1.2em" height="1.2em" />
<svg xmlns="http://www.w3.org/2000/svg" width="1.2em" height="1.2em" viewBox="0 0 32 32" class="icon-spinner">
<circle cx="16" cy="16" r="13" fill="none" stroke="currentColor" stroke-width="2" stroke-dasharray="8 4" />
</svg>
</div>
<div class="icon-wrapper" :class="state === 2 ? '' : 'flip'">
<Icon icon="carbon:close-outline" class="icon-error" width="1.2em" height="1.2em" />
Expand Down Expand Up @@ -79,15 +81,15 @@ onMounted(async () => {

.icon-spinner {
animation: spin 1s linear infinite;
color: rgb(250, 204, 21);
color: var(--vp-c-yellow-1);
}

.icon-error {
color: rgb(248, 113, 113);
color: var(--vp-c-red-1);
}

.icon-success {
color: var(--vp-c-brand-1);
color: var(--color-brand);
}

@keyframes spin {
Expand Down
20 changes: 20 additions & 0 deletions .vitepress/components/MoonPhase.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<script setup lang="ts">
const phases = [
{ emoji: '🌑', alt: 'new moon' },
{ emoji: '🌒', alt: 'waxing crescent moon' },
{ emoji: '🌓', alt: 'first quarter moon' },
{ emoji: '🌔', alt: 'waxing gibbous moon' },
{ emoji: '🌕', alt: 'full moon' },
{ emoji: '🌖', alt: 'waning gibbous moon' },
{ emoji: '🌗', alt: 'last quarter moon' },
{ emoji: '🌘', alt: 'waning crescent moon' },
]

const phase = phases[
Math.floor(Math.random() * phases.length)
]
</script>

Comment on lines +15 to +17

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid random state during SSR hydration

When VitePress renders this component on the server, the server and browser independently call Math.random(), so they choose different phases in roughly seven out of eight hydrations. This produces a Vue hydration mismatch and can visibly replace the emoji after load; derive the value deterministically or select it only after mounting.

Useful? React with 👍 / 👎.

<template>
<span :aria-label="phase.alt">{{ phase.emoji }}</span>
</template>
Loading
Loading