Skip to content
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: Istanbul Coverage only for changed Files #2385

Merged
merged 16 commits into from Jan 8, 2023

Conversation

g4rry420
Copy link
Contributor

Signed-off-by: GurkiranSingh gurkiransinghk@gmail.com

I have added watchAll coverage config option, which by defaults provides coverage for all files but if it is false, then it only show coverage for changed file.
I have also added an example react-istanbul-coverage folder to test out these changes. Please, let me know if you see any issues :)

Resolves: #2316

Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
@sheremet-va
Copy link
Member

What's the difference between "all" and why do we need a separate option?

@AriPerkkio can you take a look, when you have time?

@g4rry420
Copy link
Contributor Author

g4rry420 commented Nov 28, 2022

The only reason, I have added coverage.watchAll option so that if a user wants to see all files coverages even when a single file has changed. But, let me know if we don't want this in the config api :)

@@ -105,6 +105,11 @@ export class IstanbulCoverageProvider implements CoverageProvider {
return map
}, {})

if (!this.ctx.isFirstRun && !this.ctx.config.coverage.watchAll && this.ctx.changedTests.size > 0) {
const changedTests = Array.from(this.ctx.changedTests)
mergedCoverage.filter(key => key === changedTests[0].replace('.test', ''))
Copy link
Member

Choose a reason for hiding this comment

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

This assumes that the tested file only imports files with similar names, right? So after you make change to math.test.ts, you will only see math.tsin report. You won't see random-number-generator.ts that it might import as well.

Also making changes to math.spec.ts breaks this logic as the hard-coded .test pattern is used.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, this is correct.

@@ -105,6 +105,11 @@ export class IstanbulCoverageProvider implements CoverageProvider {
return map
}, {})

if (!this.ctx.isFirstRun && !this.ctx.config.coverage.watchAll && this.ctx.changedTests.size > 0) {
const changedTests = Array.from(this.ctx.changedTests)
Copy link
Member

Choose a reason for hiding this comment

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

The changedTests cannot be used for resolving changed files, as changed tests can import all kinds of files. Instead, if we really want to include only the changed files, we'll need to see if Vite exposes names of the changed files in HMR-api, or something similar.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank you for your feedback. I look into more options for this.

@AriPerkkio
Copy link
Member

@g4rry420 let's see if simply enabling coverage.cleanOnRerun is enough: #2316 (comment)

That option could be enabled by default when CoverageReporter (c8, istanbul) is created, and watch mode is enabled. Also I think coverage.all could be disabled when watch mode is enabled.

@AriPerkkio
Copy link
Member

AriPerkkio commented Dec 9, 2022

Alright, based on the 👍 on #2316 (comment) from issue reporter, I guess we can proceed with the fixes.

All that is needed is to set a few defaults:

  • default value for coverage.cleanOnRerun should be true, when watch mode is enabled
  • default value for coverage.all should be false, when watch mode is enabled

If watch mode is disabled, default values should be as before. I think these changes can be considered as a regular bug fix.

Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
…All config option

Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
Comment on lines 96 to 97
resolved.coverage.cleanOnRerun = true
resolved.coverage.all = false
Copy link
Member

Choose a reason for hiding this comment

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

Does this override user's configurations, or simply set default values?

I'm not sure if we should override the values, as users are then unable to configure these at all in watch mode.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This does overrides the user config, I have modified the changed, after new commits. Thanks for pointing these out.

@g4rry420
Copy link
Contributor Author

@AriPerkkio By default, the watch=true mode, so I have also set the clearOnReRun=true and all is already false.
Do we need to set clearOnReRun=false when user set watch=false ?

Copy link
Member

@AriPerkkio AriPerkkio left a comment

Choose a reason for hiding this comment

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

Do we need to set clearOnReRun=false when user set watch=false ?

Looks like the cleanOnReRun is only used by the watch mode, so no need to disable it in run mode. Also no need to explicitly look for watch=true - it can be always enabled by default, exactly as you've done here. 👍

g4rry420 and others added 4 commits December 29, 2022 21:15
Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
Copy link
Member

@sheremet-va sheremet-va left a comment

Choose a reason for hiding this comment

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

Why are there changes to lockfile?

Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
@g4rry420
Copy link
Contributor Author

g4rry420 commented Jan 6, 2023

Not sure about, but when I merge the latest changes from main branch and run pnpm install, these changes come up and I committed them.

@sheremet-va
Copy link
Member

Not sure about, but when I merge the latest changes from main branch and run pnpm install, these changes come up and I committed them.

Please, don't commit lockfile.

Signed-off-by: GurkiranSingh <gurkiransinghk@gmail.com>
@sheremet-va sheremet-va merged commit bf87282 into vitest-dev:main Jan 8, 2023
renovate bot added a commit to fwouts/previewjs that referenced this pull request Jan 16, 2023
[![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) | [`^0.26.3` ->
`^0.27.1`](https://renovatebot.com/diffs/npm/vitest/0.26.3/0.27.1) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.27.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.27.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.27.1/compatibility-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.27.1/confidence-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/)
|

---

### ⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the
Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>vitest-dev/vitest</summary>

###
[`v0.27.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.1)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.0...v0.27.1)

#####    🚀 Features

- Show error, when process.exit is called  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2643
[<samp>(866f4)</samp>](https://togithub.com/vitest-dev/vitest/commit/866f4494)
- Add more information about unhandler error  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2642
[<samp>(1ffb0)</samp>](https://togithub.com/vitest-dev/vitest/commit/1ffb0ef5)
- Display running processes, if vitest closes with timeout  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2633
[<samp>(94968)</samp>](https://togithub.com/vitest-dev/vitest/commit/94968a6f)

#####    🐞 Bug Fixes

- Type issue with spyOn method  -  by
[@&#8203;samkevin1](https://togithub.com/samkevin1) in
[vitest-dev/vitest#2365
and
[vitest-dev/vitest#2582
[<samp>(1aaa7)</samp>](https://togithub.com/vitest-dev/vitest/commit/1aaa79d7)
- Add missing types in TS project when global is true  -  by
[@&#8203;Sneaken](https://togithub.com/Sneaken) in
[vitest-dev/vitest#2631
[<samp>(4745e)</samp>](https://togithub.com/vitest-dev/vitest/commit/4745eaa2)
- Always report failed test in junit reporter  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2632
[<samp>(83da2)</samp>](https://togithub.com/vitest-dev/vitest/commit/83da2ec4)
- Change Vite root, if test.root is used  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2637
[<samp>(efbff)</samp>](https://togithub.com/vitest-dev/vitest/commit/efbff2a2)
- Don't use ownKeys, when interoping a module  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2629
[<samp>(a186a)</samp>](https://togithub.com/vitest-dev/vitest/commit/a186a7e1)
- Cut duplicate error in negated toHaveBeenCalled  -  by
[@&#8203;richardboehme](https://togithub.com/richardboehme) in
[vitest-dev/vitest#2638
[<samp>(09d62)</samp>](https://togithub.com/vitest-dev/vitest/commit/09d62226)
- Always update last HMR ms on a module  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va)
[<samp>(99676)</samp>](https://togithub.com/vitest-dev/vitest/commit/9967645a)
- Terminate workers, when closing process  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2645
[<samp>(ece43)</samp>](https://togithub.com/vitest-dev/vitest/commit/ece434a3)
-   **coverage**:
- Prevent c8 from crashing on invalid sourcemaps  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#2634
[<samp>(0163d)</samp>](https://togithub.com/vitest-dev/vitest/commit/0163dc80)
- Istanbul provider to use `coverage.extension`  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#2641
[<samp>(7e388)</samp>](https://togithub.com/vitest-dev/vitest/commit/7e388903)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.0...v0.27.1)

###
[`v0.27.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.0)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.26.3...v0.27.0)

#####    🚨 Breaking Changes

- Deprecate "error" on result, store errors in "errors"  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2586
[<samp>(e641a)</samp>](https://togithub.com/vitest-dev/vitest/commit/e641a110)
- Split vitest into separate packages, but still bundle them for the
time being  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2575
[<samp>(c8e6f)</samp>](https://togithub.com/vitest-dev/vitest/commit/c8e6fb69)

#####    🚀 Features

- **coverage**: report only changed files when using istanbul coverage
with watch mode  -  by [@&#8203;g4rry420](https://togithub.com/g4rry420)
in
[vitest-dev/vitest#2385
[<samp>(bf872)</samp>](https://togithub.com/vitest-dev/vitest/commit/bf87282c)

#####    🐞 Bug Fixes

- Return mock path only when mocked  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2619
[<samp>(f8ac2)</samp>](https://togithub.com/vitest-dev/vitest/commit/f8ac2094)
- Allow mocking CJS module with interoped default  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2598
[<samp>(6b3e3)</samp>](https://togithub.com/vitest-dev/vitest/commit/6b3e36d4)
- Avoid random ENOTEMPTY errors  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#2620
[<samp>(59766)</samp>](https://togithub.com/vitest-dev/vitest/commit/59766fa4)
- Always inline assets and modules with special Vite queries  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2617
[<samp>(fed1c)</samp>](https://togithub.com/vitest-dev/vitest/commit/fed1cd60)
-   **cli**:
- Allow overrides reporter via cli option  -  by
[@&#8203;mysteryven](https://togithub.com/mysteryven) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2573
[<samp>(894f1)</samp>](https://togithub.com/vitest-dev/vitest/commit/894f155a)
-   **coverage**:
- Flaky c8 coverage caused by parallel sourcemap constructing  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2591
[<samp>(9a29f)</samp>](https://togithub.com/vitest-dev/vitest/commit/9a29f984)
- Validate extension, when reporting c8 coverage  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2626
[<samp>(74463)</samp>](https://togithub.com/vitest-dev/vitest/commit/7446370c)

#####    🏎 Performance

- Improve vi.mock performance  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2594
[<samp>(09d19)</samp>](https://togithub.com/vitest-dev/vitest/commit/09d19892)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.26.3...v0.27.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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://app.renovatebot.com/dashboard#github/fwouts/previewjs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDIuNyIsInVwZGF0ZWRJblZlciI6IjM0LjEwMi43In0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to Unleash/unleash that referenced this pull request Jan 16, 2023
[![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) | [`0.26.3` ->
`0.27.0`](https://renovatebot.com/diffs/npm/vitest/0.26.3/0.27.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.27.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.27.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.27.0/compatibility-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.27.0/confidence-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vitest-dev/vitest</summary>

###
[`v0.27.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.0)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.26.3...v0.27.0)

#####    🚨 Breaking Changes

- Deprecate "error" on result, store errors in "errors"  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2586
[<samp>(e641a)</samp>](https://togithub.com/vitest-dev/vitest/commit/e641a110)
- Split vitest into separate packages, but still bundle them for the
time being  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2575
[<samp>(c8e6f)</samp>](https://togithub.com/vitest-dev/vitest/commit/c8e6fb69)

#####    🚀 Features

- **coverage**: report only changed files when using istanbul coverage
with watch mode  -  by [@&#8203;g4rry420](https://togithub.com/g4rry420)
in
[vitest-dev/vitest#2385
[<samp>(bf872)</samp>](https://togithub.com/vitest-dev/vitest/commit/bf87282c)

#####    🐞 Bug Fixes

- Return mock path only when mocked  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2619
[<samp>(f8ac2)</samp>](https://togithub.com/vitest-dev/vitest/commit/f8ac2094)
- Allow mocking CJS module with interoped default  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2598
[<samp>(6b3e3)</samp>](https://togithub.com/vitest-dev/vitest/commit/6b3e36d4)
- Avoid random ENOTEMPTY errors  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#2620
[<samp>(59766)</samp>](https://togithub.com/vitest-dev/vitest/commit/59766fa4)
- Always inline assets and modules with special Vite queries  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2617
[<samp>(fed1c)</samp>](https://togithub.com/vitest-dev/vitest/commit/fed1cd60)
-   **cli**:
- Allow overrides reporter via cli option  -  by
[@&#8203;mysteryven](https://togithub.com/mysteryven) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2573
[<samp>(894f1)</samp>](https://togithub.com/vitest-dev/vitest/commit/894f155a)
-   **coverage**:
- Flaky c8 coverage caused by parallel sourcemap constructing  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2591
[<samp>(9a29f)</samp>](https://togithub.com/vitest-dev/vitest/commit/9a29f984)
- Validate extension, when reporting c8 coverage  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2626
[<samp>(74463)</samp>](https://togithub.com/vitest-dev/vitest/commit/7446370c)

#####    🏎 Performance

- Improve vi.mock performance  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2594
[<samp>(09d19)</samp>](https://togithub.com/vitest-dev/vitest/commit/09d19892)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.26.3...v0.27.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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://app.renovatebot.com/dashboard#github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDIuNyIsInVwZGF0ZWRJblZlciI6IjM0LjEwMi43In0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
andipaetzold pushed a commit to andipaetzold/react-firehooks that referenced this pull request Feb 10, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@tsconfig/recommended](https://togithub.com/tsconfig/bases) |
[`1.0.1` ->
`1.0.2`](https://renovatebot.com/diffs/npm/@tsconfig%2frecommended/1.0.1/1.0.2)
|
[![age](https://badges.renovateapi.com/packages/npm/@tsconfig%2frecommended/1.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@tsconfig%2frecommended/1.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@tsconfig%2frecommended/1.0.2/compatibility-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@tsconfig%2frecommended/1.0.2/confidence-slim/1.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.0.26` ->
`18.0.27`](https://renovatebot.com/diffs/npm/@types%2freact/18.0.26/18.0.27)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.27/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.27/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.27/compatibility-slim/18.0.26)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2freact/18.0.27/confidence-slim/18.0.26)](https://docs.renovatebot.com/merge-confidence/)
|
| [@vitest/coverage-c8](https://togithub.com/vitest-dev/vitest) |
[`0.26.3` ->
`0.28.4`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-c8/0.26.3/0.28.4)
|
[![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.28.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.28.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.28.4/compatibility-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.28.4/confidence-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/)
|
| [happy-dom](https://togithub.com/capricorn86/happy-dom) | [`8.1.1` ->
`8.2.6`](https://renovatebot.com/diffs/npm/happy-dom/8.1.1/8.2.6) |
[![age](https://badges.renovateapi.com/packages/npm/happy-dom/8.2.6/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/happy-dom/8.2.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/happy-dom/8.2.6/compatibility-slim/8.1.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/happy-dom/8.2.6/confidence-slim/8.1.1)](https://docs.renovatebot.com/merge-confidence/)
|
| [lint-staged](https://togithub.com/okonet/lint-staged) | [`13.1.0` ->
`13.1.1`](https://renovatebot.com/diffs/npm/lint-staged/13.1.0/13.1.1) |
[![age](https://badges.renovateapi.com/packages/npm/lint-staged/13.1.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/lint-staged/13.1.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/lint-staged/13.1.1/compatibility-slim/13.1.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/lint-staged/13.1.1/confidence-slim/13.1.0)](https://docs.renovatebot.com/merge-confidence/)
|
| [prettier](https://prettier.io)
([source](https://togithub.com/prettier/prettier)) | [`2.8.1` ->
`2.8.4`](https://renovatebot.com/diffs/npm/prettier/2.8.1/2.8.4) |
[![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.4/compatibility-slim/2.8.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.4/confidence-slim/2.8.1)](https://docs.renovatebot.com/merge-confidence/)
|
|
[semantic-release](https://togithub.com/semantic-release/semantic-release)
| [`20.0.0` ->
`20.1.0`](https://renovatebot.com/diffs/npm/semantic-release/20.0.0/20.1.0)
|
[![age](https://badges.renovateapi.com/packages/npm/semantic-release/20.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/semantic-release/20.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/semantic-release/20.1.0/compatibility-slim/20.0.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/semantic-release/20.1.0/confidence-slim/20.0.0)](https://docs.renovatebot.com/merge-confidence/)
|
| [typedoc](https://typedoc.org)
([source](https://togithub.com/TypeStrong/TypeDoc)) | [`0.23.23` ->
`0.23.24`](https://renovatebot.com/diffs/npm/typedoc/0.23.23/0.23.24) |
[![age](https://badges.renovateapi.com/packages/npm/typedoc/0.23.24/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typedoc/0.23.24/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typedoc/0.23.24/compatibility-slim/0.23.23)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typedoc/0.23.24/confidence-slim/0.23.23)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`4.9.4` ->
`4.9.5`](https://renovatebot.com/diffs/npm/typescript/4.9.4/4.9.5) |
[![age](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/compatibility-slim/4.9.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/confidence-slim/4.9.4)](https://docs.renovatebot.com/merge-confidence/)
|
| [vitest](https://togithub.com/vitest-dev/vitest) | [`0.26.3` ->
`0.28.4`](https://renovatebot.com/diffs/npm/vitest/0.26.3/0.28.4) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.28.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.28.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.28.4/compatibility-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.28.4/confidence-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vitest-dev/vitest</summary>

###
[`v0.28.4`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.4)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.3...v0.28.4)

#####    🐞 Bug Fixes

- Setup correct utils inside asymmetric matchers  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2768](https://togithub.com/vitest-dev/vitest/issues/2768)
[<samp>(415c8)</samp>](https://togithub.com/vitest-dev/vitest/commit/415c8a93)
- Cjs exports has Object.prototype instead of null  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2769](https://togithub.com/vitest-dev/vitest/issues/2769)
[<samp>(4fc49)</samp>](https://togithub.com/vitest-dev/vitest/commit/4fc492c6)
- Duplicate callbacks in vite-node HMR  -  by
[@&#8203;jgoux](https://togithub.com/jgoux) in
[https://github.com/vitest-dev/vitest/issues/2792](https://togithub.com/vitest-dev/vitest/issues/2792)
[<samp>(f0333)</samp>](https://togithub.com/vitest-dev/vitest/commit/f03337ae)
- Do not include source files in `onWatcherStart` when
`typecheck.ignoreSourceErrors` is true  -  by
[@&#8203;mascii](https://togithub.com/mascii) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2774](https://togithub.com/vitest-dev/vitest/issues/2774)
[<samp>(d612e)</samp>](https://togithub.com/vitest-dev/vitest/commit/d612efdf)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.3...v0.28.4)

###
[`v0.28.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.3)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.2...v0.28.3)

#####    🚀 Features

- Allow using atomics to communicate between threads  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2758](https://togithub.com/vitest-dev/vitest/issues/2758)
[<samp>(3679c)</samp>](https://togithub.com/vitest-dev/vitest/commit/3679cf25)
- Show active filename pattern on CLI  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio)
[<samp>(a0455)</samp>](https://togithub.com/vitest-dev/vitest/commit/a0455917)
- Show active test name pattern on CLI  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio)
[<samp>(df7c4)</samp>](https://togithub.com/vitest-dev/vitest/commit/df7c410a)
- Allow `config` option to be false  -  by
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/2749](https://togithub.com/vitest-dev/vitest/issues/2749)
[<samp>(c66e3)</samp>](https://togithub.com/vitest-dev/vitest/commit/c66e335b)

#####    🐞 Bug Fixes

- Watch mode's filename pattern to persist on unrelated file changes  - 
by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio)
[<samp>(712ac)</samp>](https://togithub.com/vitest-dev/vitest/commit/712ac15b)
- Watch mode's filename pattern to persist re-run of failed tests,
snapshot updates and testname filter changes  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio)
[<samp>(1c65a)</samp>](https://togithub.com/vitest-dev/vitest/commit/1c65ac48)
- Dont incorrectly mark run failed if filename pattern excludes
previously failed tests  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio)
[<samp>(61cf9)</samp>](https://togithub.com/vitest-dev/vitest/commit/61cf9a7a)
- **coverage**: Istanbul crashes when no tests were run  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2753](https://togithub.com/vitest-dev/vitest/issues/2753)
[<samp>(ebc95)</samp>](https://togithub.com/vitest-dev/vitest/commit/ebc95add)

#####    🏎 Performance

- Don't import vite in worker  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2759](https://togithub.com/vitest-dev/vitest/issues/2759)
[<samp>(e49c1)</samp>](https://togithub.com/vitest-dev/vitest/commit/e49c13fa)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.2...v0.28.3)

###
[`v0.28.2`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.2)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.1...v0.28.2)

#####    🐞 Bug Fixes

- Send stderr header log to stderr  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2736](https://togithub.com/vitest-dev/vitest/issues/2736)
[<samp>(998ea)</samp>](https://togithub.com/vitest-dev/vitest/commit/998ea804)
- Call afterAll, if beforeAll failed  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2737](https://togithub.com/vitest-dev/vitest/issues/2737)
[<samp>(1904c)</samp>](https://togithub.com/vitest-dev/vitest/commit/1904c9c4)
- **vite-node**: Don't cache modules with `timestamp: 0`  -  by
[@&#8203;danielroe](https://togithub.com/danielroe) in
[https://github.com/vitest-dev/vitest/issues/2747](https://togithub.com/vitest-dev/vitest/issues/2747)
[<samp>(e88c0)</samp>](https://togithub.com/vitest-dev/vitest/commit/e88c04c4)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.1...v0.28.2)

###
[`v0.28.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.1)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.0...v0.28.1)

#####    🐞 Bug Fixes

- Remove UI from Vitest dependencies  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va)
[<samp>(b120c)</samp>](https://togithub.com/vitest-dev/vitest/commit/b120ca3f)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.0...v0.28.1)

###
[`v0.28.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.0)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.3...v0.28.0)

#####    🚨 Breaking Changes

- Don't rely on environment for interopDefault  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2682](https://togithub.com/vitest-dev/vitest/issues/2682)
[<samp>(3f20c)</samp>](https://togithub.com/vitest-dev/vitest/commit/3f20cf5a)
- Move test runner into a separate package  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2721](https://togithub.com/vitest-dev/vitest/issues/2721)
[<samp>(482b7)</samp>](https://togithub.com/vitest-dev/vitest/commit/482b72fc)
- To extend text context, you need to augment `@vitet/runner` package
instead of `vitest`

#####    🐞 Bug Fixes

- **coverage**: C8 to log warning when run in Stackblitz  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2735](https://togithub.com/vitest-dev/vitest/issues/2735)
[<samp>(b6c41)</samp>](https://togithub.com/vitest-dev/vitest/commit/b6c41caa)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.3...v0.28.0)

###
[`v0.27.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.3)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.2...v0.27.3)

#####    🚀 Features

- Throw unhandled exception, if code throws "error" event  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2691](https://togithub.com/vitest-dev/vitest/issues/2691)
[<samp>(6a30c)</samp>](https://togithub.com/vitest-dev/vitest/commit/6a30cdd3)
- New `environmentMatchGlobs` option to auto infer env based on glob  - 
by [@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/2714](https://togithub.com/vitest-dev/vitest/issues/2714)
[<samp>(3e142)</samp>](https://togithub.com/vitest-dev/vitest/commit/3e1429e5)
- Add basic reporter which allow user to use reporter in ci  -  by
[@&#8203;trim21](https://togithub.com/trim21) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2612](https://togithub.com/vitest-dev/vitest/issues/2612)
[<samp>(5df52)</samp>](https://togithub.com/vitest-dev/vitest/commit/5df522f7)
- Improve "isCI" check  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2705](https://togithub.com/vitest-dev/vitest/issues/2705)
[<samp>(e6457)</samp>](https://togithub.com/vitest-dev/vitest/commit/e64570df)

#####    🐞 Bug Fixes

- Show error in the terminal, if "only" flag is used  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2696](https://togithub.com/vitest-dev/vitest/issues/2696)
[<samp>(24d63)</samp>](https://togithub.com/vitest-dev/vitest/commit/24d63809)
- Cpu and heap profiling options for workers  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2702](https://togithub.com/vitest-dev/vitest/issues/2702)
[<samp>(c31a0)</samp>](https://togithub.com/vitest-dev/vitest/commit/c31a0b20)
- Show correct number of tests in test summary  -  by
[@&#8203;poyoho](https://togithub.com/poyoho) in
[https://github.com/vitest-dev/vitest/issues/2703](https://togithub.com/vitest-dev/vitest/issues/2703)
[<samp>(859e7)</samp>](https://togithub.com/vitest-dev/vitest/commit/859e7f01)
- Don't terminate workers on Node 14 to not trigger fatal error  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2697](https://togithub.com/vitest-dev/vitest/issues/2697)
[<samp>(db9b6)</samp>](https://togithub.com/vitest-dev/vitest/commit/db9b6bb7)
- Allow custom async matchers  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2707](https://togithub.com/vitest-dev/vitest/issues/2707)
[<samp>(b5669)</samp>](https://togithub.com/vitest-dev/vitest/commit/b566912d)
- Remove setup files from coverage  -  by
[@&#8203;g4rry420](https://togithub.com/g4rry420) in
[https://github.com/vitest-dev/vitest/issues/2574](https://togithub.com/vitest-dev/vitest/issues/2574)
[<samp>(488e4)</samp>](https://togithub.com/vitest-dev/vitest/commit/488e4b9f)
- `reportCoverage` context can be optional  -  by
[@&#8203;antfu](https://togithub.com/antfu)
[<samp>(4cd1e)</samp>](https://togithub.com/vitest-dev/vitest/commit/4cd1e5d7)
- ENOENT assets when htmldir exists  -  by
[@&#8203;everett1992](https://togithub.com/everett1992) in
[https://github.com/vitest-dev/vitest/issues/2701](https://togithub.com/vitest-dev/vitest/issues/2701)
[<samp>(5a656)</samp>](https://togithub.com/vitest-dev/vitest/commit/5a656753)
- Correctly resolve paths relative to root, when used outside of root
directory  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va)
in
[https://github.com/vitest-dev/vitest/issues/2687](https://togithub.com/vitest-dev/vitest/issues/2687)
[<samp>(703aa)</samp>](https://togithub.com/vitest-dev/vitest/commit/703aab46)
- **typecheck**: Store tmp tsconfig close to original one  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2660](https://togithub.com/vitest-dev/vitest/issues/2660)
[<samp>(26f91)</samp>](https://togithub.com/vitest-dev/vitest/commit/26f915ad)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.2...v0.27.3)

###
[`v0.27.2`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.2)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.1...v0.27.2)

#####    🚀 Features

- Add runAllTimersAsync from sinonjs  -  by
[@&#8203;guillaumeduboc](https://togithub.com/guillaumeduboc) in
[https://github.com/vitest-dev/vitest/issues/2209](https://togithub.com/vitest-dev/vitest/issues/2209)
[<samp>(40187)</samp>](https://togithub.com/vitest-dev/vitest/commit/40187bdb)

#####    🐞 Bug Fixes

- Document.defaultView references the same window as the global one  - 
by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2649](https://togithub.com/vitest-dev/vitest/issues/2649)
[<samp>(1ac4b)</samp>](https://togithub.com/vitest-dev/vitest/commit/1ac4bb8d)
- Trim input filename and test name  -  by
[@&#8203;btea](https://togithub.com/btea) in
[https://github.com/vitest-dev/vitest/issues/2650](https://togithub.com/vitest-dev/vitest/issues/2650)
[<samp>(d3dcb)</samp>](https://togithub.com/vitest-dev/vitest/commit/d3dcbdc8)
- Increase default teardownTimeout  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va)
[<samp>(13e53)</samp>](https://togithub.com/vitest-dev/vitest/commit/13e53ac7)
- Mock css files imported with "require"  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2679](https://togithub.com/vitest-dev/vitest/issues/2679)
[<samp>(6c1a2)</samp>](https://togithub.com/vitest-dev/vitest/commit/6c1a26a6)
- Don't start watching files in "run" mode  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2680](https://togithub.com/vitest-dev/vitest/issues/2680)
[<samp>(0a31e)</samp>](https://togithub.com/vitest-dev/vitest/commit/0a31e85c)
- Rerun tests, when setup file is edited  -  by
[@&#8203;mysteryven](https://togithub.com/mysteryven) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2625](https://togithub.com/vitest-dev/vitest/issues/2625)
[<samp>(019a6)</samp>](https://togithub.com/vitest-dev/vitest/commit/019a6d57)
- Always show filename for unhandled errors  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2689](https://togithub.com/vitest-dev/vitest/issues/2689)
[<samp>(15aa0)</samp>](https://togithub.com/vitest-dev/vitest/commit/15aa0156)
- Define property instead of assigning it in vi.stubGlobal  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2685](https://togithub.com/vitest-dev/vitest/issues/2685)
[<samp>(8a1d7)</samp>](https://togithub.com/vitest-dev/vitest/commit/8a1d7590)
- **coverage**: Watch mode to use `coverage.all` only when all tests are
run  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2665](https://togithub.com/vitest-dev/vitest/issues/2665)
[<samp>(85096)</samp>](https://togithub.com/vitest-dev/vitest/commit/85096281)
- **typecheck**: Log tests with verbose reporter, correctly show "pass"
tests  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2656](https://togithub.com/vitest-dev/vitest/issues/2656)
[<samp>(61dde)</samp>](https://togithub.com/vitest-dev/vitest/commit/61ddebae)
- **ui**: Don't show "connecting" screen in html reporter  -  by
[@&#8203;poyoho](https://togithub.com/poyoho) in
[https://github.com/vitest-dev/vitest/issues/2693](https://togithub.com/vitest-dev/vitest/issues/2693)
[<samp>(d8548)</samp>](https://togithub.com/vitest-dev/vitest/commit/d8548c69)

#####    🏎 Performance

- Don't resolve import path, if it was already resolved  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2659](https://togithub.com/vitest-dev/vitest/issues/2659)
[<samp>(45cc3)</samp>](https://togithub.com/vitest-dev/vitest/commit/45cc3423)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.1...v0.27.2)

###
[`v0.27.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.1)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.0...v0.27.1)

#####    🚀 Features

- Show error, when process.exit is called  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2643](https://togithub.com/vitest-dev/vitest/issues/2643)
[<samp>(866f4)</samp>](https://togithub.com/vitest-dev/vitest/commit/866f4494)
- Add more information about unhandler error  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2642](https://togithub.com/vitest-dev/vitest/issues/2642)
[<samp>(1ffb0)</samp>](https://togithub.com/vitest-dev/vitest/commit/1ffb0ef5)
- Display running processes, if vitest closes with timeout  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2633](https://togithub.com/vitest-dev/vitest/issues/2633)
[<samp>(94968)</samp>](https://togithub.com/vitest-dev/vitest/commit/94968a6f)

#####    🐞 Bug Fixes

- Type issue with spyOn method  -  by
[@&#8203;samkevin1](https://togithub.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2365](https://togithub.com/vitest-dev/vitest/issues/2365)
and
[https://github.com/vitest-dev/vitest/issues/2582](https://togithub.com/vitest-dev/vitest/issues/2582)
[<samp>(1aaa7)</samp>](https://togithub.com/vitest-dev/vitest/commit/1aaa79d7)
- Add missing types in TS project when global is true  -  by
[@&#8203;Sneaken](https://togithub.com/Sneaken) in
[https://github.com/vitest-dev/vitest/issues/2631](https://togithub.com/vitest-dev/vitest/issues/2631)
[<samp>(4745e)</samp>](https://togithub.com/vitest-dev/vitest/commit/4745eaa2)
- Always report failed test in junit reporter  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2632](https://togithub.com/vitest-dev/vitest/issues/2632)
[<samp>(83da2)</samp>](https://togithub.com/vitest-dev/vitest/commit/83da2ec4)
- Change Vite root, if test.root is used  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2637](https://togithub.com/vitest-dev/vitest/issues/2637)
[<samp>(efbff)</samp>](https://togithub.com/vitest-dev/vitest/commit/efbff2a2)
- Don't use ownKeys, when interoping a module  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2629](https://togithub.com/vitest-dev/vitest/issues/2629)
[<samp>(a186a)</samp>](https://togithub.com/vitest-dev/vitest/commit/a186a7e1)
- Cut duplicate error in negated toHaveBeenCalled  -  by
[@&#8203;richardboehme](https://togithub.com/richardboehme) in
[https://github.com/vitest-dev/vitest/issues/2638](https://togithub.com/vitest-dev/vitest/issues/2638)
[<samp>(09d62)</samp>](https://togithub.com/vitest-dev/vitest/commit/09d62226)
- Always update last HMR ms on a module  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va)
[<samp>(99676)</samp>](https://togithub.com/vitest-dev/vitest/commit/9967645a)
- Terminate workers, when closing process  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2645](https://togithub.com/vitest-dev/vitest/issues/2645)
[<samp>(ece43)</samp>](https://togithub.com/vitest-dev/vitest/commit/ece434a3)
-   **coverage**:
- Prevent c8 from crashing on invalid sourcemaps  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2634](https://togithub.com/vitest-dev/vitest/issues/2634)
[<samp>(0163d)</samp>](https://togithub.com/vitest-dev/vitest/commit/0163dc80)
- Istanbul provider to use `coverage.extension`  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2641](https://togithub.com/vitest-dev/vitest/issues/2641)
[<samp>(7e388)</samp>](https://togithub.com/vitest-dev/vitest/commit/7e388903)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.0...v0.27.1)

###
[`v0.27.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.0)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.26.3...v0.27.0)

#####    🚨 Breaking Changes

- Deprecate "error" on result, store errors in "errors"  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2586](https://togithub.com/vitest-dev/vitest/issues/2586)
[<samp>(e641a)</samp>](https://togithub.com/vitest-dev/vitest/commit/e641a110)
- Split vitest into separate packages, but still bundle them for the
time being  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2575](https://togithub.com/vitest-dev/vitest/issues/2575)
[<samp>(c8e6f)</samp>](https://togithub.com/vitest-dev/vitest/commit/c8e6fb69)

#####    🚀 Features

- **coverage**: report only changed files when using istanbul coverage
with watch mode  -  by [@&#8203;g4rry420](https://togithub.com/g4rry420)
in
[https://github.com/vitest-dev/vitest/issues/2385](https://togithub.com/vitest-dev/vitest/issues/2385)
[<samp>(bf872)</samp>](https://togithub.com/vitest-dev/vitest/commit/bf87282c)

#####    🐞 Bug Fixes

- Return mock path only when mocked  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2619](https://togithub.com/vitest-dev/vitest/issues/2619)
[<samp>(f8ac2)</samp>](https://togithub.com/vitest-dev/vitest/commit/f8ac2094)
- Allow mocking CJS module with interoped default  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2598](https://togithub.com/vitest-dev/vitest/issues/2598)
[<samp>(6b3e3)</samp>](https://togithub.com/vitest-dev/vitest/commit/6b3e36d4)
- Avoid random ENOTEMPTY errors  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2620](https://togithub.com/vitest-dev/vitest/issues/2620)
[<samp>(59766)</samp>](https://togithub.com/vitest-dev/vitest/commit/59766fa4)
- Always inline assets and modules with special Vite queries  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2617](https://togithub.com/vitest-dev/vitest/issues/2617)
[<samp>(fed1c)</samp>](https://togithub.com/vitest-dev/vitest/commit/fed1cd60)
-   **cli**:
- Allow overrides reporter via cli option  -  by
[@&#8203;mysteryven](https://togithub.com/mysteryven) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2573](https://togithub.com/vitest-dev/vitest/issues/2573)
[<samp>(894f1)</samp>](https://togithub.com/vitest-dev/vitest/commit/894f155a)
-   **coverage**:
- Flaky c8 coverage caused by parallel sourcemap constructing  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2591](https://togithub.com/vitest-dev/vitest/issues/2591)
[<samp>(9a29f)</samp>](https://togithub.com/vitest-dev/vitest/commit/9a29f984)
- Validate extension, when reporting c8 coverage  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2626](https://togithub.com/vitest-dev/vitest/issues/2626)
[<samp>(74463)</samp>](https://togithub.com/vitest-dev/vitest/commit/7446370c)

#####    🏎 Performance

- Improve vi.mock performance  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2594](https://togithub.com/vitest-dev/vitest/issues/2594)
[<samp>(09d19)</samp>](https://togithub.com/vitest-dev/vitest/commit/09d19892)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.26.3...v0.27.0)

</details>

<details>
<summary>capricorn86/happy-dom</summary>

###
[`v8.2.6`](https://togithub.com/capricorn86/happy-dom/compare/v8.2.5...v8.2.6)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.2.5...v8.2.6)

###
[`v8.2.5`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.2.5)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.2.4...v8.2.5)

##### :construction_worker_man: Patch fixes

- Adds support for passing arguments to the callback in
`Window.setTimeout()` and `Window.setInterval()`.
([#&#8203;712](https://togithub.com/capricorn86/happy-dom/issues/712))

###
[`v8.2.4`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.2.4)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.2.3...v8.2.4)

##### :construction_worker_man: Patch fixes

- Fixes handling of falsy values in `CustomEvent.detail`.
([#&#8203;701](https://togithub.com/capricorn86/happy-dom/issues/701))

###
[`v8.2.3`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.2.3)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.2.2...v8.2.3)

##### :construction_worker_man: Patch fixes

- Properly detect ShadowRoot boundary when constructing composed path in
`Event.composedPath()`.
([#&#8203;709](https://togithub.com/capricorn86/happy-dom/issues/709))

###
[`v8.2.2`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.2.2)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.2.1...v8.2.2)

##### :construction_worker_man: Patch fixes

- Fixes an issue in `MutationObserver.disconnect()` where it throws an
error if `MutationObserver.observe()` has not been called first.
([#&#8203;659](https://togithub.com/capricorn86/happy-dom/issues/659))

###
[`v8.2.1`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.2.1)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.2.0...v8.2.1)

##### :construction_worker_man: Patch fixes

- Upgrades Jest dependencies to 29.4.0.
([#&#8203;697](https://togithub.com/capricorn86/happy-dom/issues/697))

###
[`v8.2.0`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.2.0)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.1.5...v8.2.0)

##### :art: Features

- Renames `NodeUtility.nodeEquals()` to `NodeUtility.isEqualNode()` to
make it easier to find, as `isEqualNode` is how it is named in the spec.
([#&#8203;656](https://togithub.com/capricorn86/happy-dom/issues/656))

###
[`v8.1.5`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.1.5)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.1.4...v8.1.5)

##### :construction_worker_man: Patch fixes

- Renames the `conditionalText` property to `conditionText` in
`CSSContainerRule` and `CSSMediaRule` according to spec.
([#&#8203;692](https://togithub.com/capricorn86/happy-dom/issues/692))

##### :art: Features

- Adds support for `CSSSupportsRule` (`@supports`) to the CSS parser.
([#&#8203;693](https://togithub.com/capricorn86/happy-dom/issues/693))

###
[`v8.1.4`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.1.4)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.1.3...v8.1.4)

##### :construction_worker_man: Patch fixes

- Returns the correct result when deleting a property in
`HTMLElement.dataset`.
([#&#8203;652](https://togithub.com/capricorn86/happy-dom/issues/652))

###
[`v8.1.3`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.1.3)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.1.2...v8.1.3)

##### :construction_worker_man: Patch fixes

- Fixed infinite loop bug when there is no number before "n" in an
":nth-child" query selector.
([#&#8203;686](https://togithub.com/capricorn86/happy-dom/issues/686))

###
[`v8.1.2`](https://togithub.com/capricorn86/happy-dom/releases/tag/v8.1.2)

[Compare
Source](https://togithub.com/capricorn86/happy-dom/compare/v8.1.1...v8.1.2)

##### :construction_worker_man: Patch fixes

- Adds support for `Window.scrollX`, `Window.scrollY`,
`Window.pageXOffset` and `Window.pageYOffset`.
([#&#8203;681](https://togithub.com/capricorn86/happy-dom/issues/681))

</details>

<details>
<summary>okonet/lint-staged</summary>

###
[`v13.1.1`](https://togithub.com/okonet/lint-staged/releases/tag/v13.1.1)

[Compare
Source](https://togithub.com/okonet/lint-staged/compare/v13.1.0...v13.1.1)

##### Bug Fixes

- allow re-enabling `--stash` when using the `--diff` option
([99390c3](https://togithub.com/okonet/lint-staged/commit/99390c31a856154e380f04d5c3603d2e6428f1e5))

</details>

<details>
<summary>prettier/prettier</summary>

###
[`v2.8.4`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;284)

[Compare
Source](https://togithub.com/prettier/prettier/compare/2.8.3...2.8.4)

[diff](https://togithub.com/prettier/prettier/compare/2.8.3...2.8.4)

##### Fix leading comments in mapped types with `readonly`
([#&#8203;13427](https://togithub.com/prettier/prettier/pull/13427) by
[@&#8203;thorn0](https://togithub.com/thorn0),
[@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki))

<!-- prettier-ignore -->

```tsx
// Input
type Type = {
  // comment
  readonly [key in Foo];
};

// Prettier 2.8.3
type Type = {
  readonly // comment
  [key in Foo];
};

// Prettier 2.8.4
type Type = {
  // comment
  readonly [key in Foo];
};
```

##### Group params in opening block statements
([#&#8203;14067](https://togithub.com/prettier/prettier/pull/14067) by
[@&#8203;jamescdavis](https://togithub.com/jamescdavis))

This is a follow-up to
[#&#8203;13930](https://togithub.com/prettier/prettier/issues/13930) to
establish wrapping consistency between opening block statements and else
blocks by
grouping params in opening blocks. This causes params to break to a new
line together and not be split across lines
unless the length of params exceeds the print width. This also updates
the else block wrapping to behave exactly the
same as opening blocks.

<!-- prettier-ignore -->

```hbs
{{! Input }}
{{#block param param param param param param param param param param as |blockParam|}}
  Hello
{{else block param param param param param param param param param param as |blockParam|}}
  There
{{/block}}

{{! Prettier 2.8.3 }}
{{#block
  param
  param
  param
  param
  param
  param
  param
  param
  param
  param
  as |blockParam|
}}
  Hello
{{else block param
param
param
param
param
param
param
param
param
param}}
  There
{{/block}}

{{! Prettier 2.8.4 }}
{{#block
  param param param param param param param param param param
  as |blockParam|
}}
  Hello
{{else block
  param param param param param param param param param param
  as |blockParam|
}}
  There
{{/block}}
```

##### Ignore files in `.sl/`
([#&#8203;14206](https://togithub.com/prettier/prettier/pull/14206) by
[@&#8203;bolinfest](https://togithub.com/bolinfest))

In [Sapling SCM](https://sapling-scm.com/), `.sl/` is the folder where
it stores its state, analogous to `.git/` in Git. It should be ignored
in Prettier like the other SCM folders.

##### Recognize `@satisfies` in Closure-style type casts
([#&#8203;14262](https://togithub.com/prettier/prettier/pull/14262) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
const a = /** @&#8203;satisfies {Record<string, string>} */ ({hello: 1337});
const b = /** @&#8203;type {Record<string, string>} */ ({hello: 1337});

// Prettier 2.8.3
const a = /** @&#8203;satisfies {Record<string, string>} */ { hello: 1337 };
const b = /** @&#8203;type {Record<string, string>} */ ({ hello: 1337 });

// Prettier 2.8.4
const a = /** @&#8203;satisfies {Record<string, string>} */ ({hello: 1337});
const b = /** @&#8203;type {Record<string, string>} */ ({hello: 1337});
```

##### Fix parens in inferred function return types with `extends`
([#&#8203;14279](https://togithub.com/prettier/prettier/pull/14279) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```ts
// Input
type Foo<T> = T extends ((a) => a is infer R extends string) ? R : never;

// Prettier 2.8.3 (First format)
type Foo<T> = T extends (a) => a is infer R extends string ? R : never;

// Prettier 2.8.3 (Second format)
SyntaxError: '?' expected. 

// Prettier 2.8.4
type Foo<T> = T extends ((a) => a is infer R extends string) ? R : never;
```

###
[`v2.8.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;283)

[Compare
Source](https://togithub.com/prettier/prettier/compare/2.8.2...2.8.3)

[diff](https://togithub.com/prettier/prettier/compare/2.8.2...2.8.3)

##### Allow self-closing tags on custom elements
([#&#8203;14170](https://togithub.com/prettier/prettier/pull/14170) by
[@&#8203;fisker](https://togithub.com/fisker))

See [Angular v15.1.0 release
note](https://togithub.com/angular/angular/releases/tag/15.1.0) for
details.

<!-- prettier-ignore -->

```html
// Input
<app-test/>

// Prettier 2.8.2
SyntaxError: Only void and foreign elements can be self closed "app-test" (1:1)
> 1 | <app-test/>
    | ^^^^^^^^^
  2 |

// Prettier 2.8.3
<app-test />
```

###
[`v2.8.2`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;282)

[Compare
Source](https://togithub.com/prettier/prettier/compare/2.8.1...2.8.2)

[diff](https://togithub.com/prettier/prettier/compare/2.8.1...2.8.2)

##### Don't lowercase link references
([#&#8203;13155](https://togithub.com/prettier/prettier/pull/13155) by
[@&#8203;DerekNonGeneric](https://togithub.com/DerekNonGeneric) &
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```markdown
<!-- Input -->
We now don't strictly follow the release notes format suggested by [Keep a Changelog].

[Keep a Changelog]: https://example.com/

<!-- Prettier 2.8.1 -->
We now don't strictly follow the release notes format suggested by [Keep a Changelog].

[keep a changelog]: https://example.com/
<!--
^^^^^^^^^^^^^^^^^^ lowercased
-->

<!-- Prettier 2.8.2 -->
<Same as input>
```

##### Preserve self-closing tags
([#&#8203;13691](https://togithub.com/prettier/prettier/pull/13691) by
[@&#8203;dcyriller](https://togithub.com/dcyriller))

<!-- prettier-ignore -->

```hbs
{{! Input }}
<div />
<div></div>
<custom-component />
<custom-component></custom-component>
<i />
<i></i>
<Component />
<Component></Component>

{{! Prettier 2.8.1 }}
<div></div>
<div></div>
<custom-component></custom-component>
<custom-component></custom-component>
<i></i>
<i></i>
<Component />
<Component />

{{! Prettier 2.8.2 }}
<div />
<div></div>
<custom-component />
<custom-component></custom-component>
<i />
<i></i>
<Component />
<Component />
```

##### Allow custom "else if"-like blocks with block params
([#&#8203;13930](https://togithub.com/prettier/prettier/pull/13930) by
[@&#8203;jamescdavis](https://togithub.com/jamescdavis))

[#&#8203;13507](https://togithub.com/prettier/prettier/issues/13507)
added support for custom block keywords used with `else`, but failed to
allow block params. This updates printer-glimmer to allow block params
with custom "else if"-like blocks.

<!-- prettier-ignore -->

```hbs
{{! Input }}
{{#when isAtWork as |work|}}
  Ship that
  {{work}}!
{{else when isReading as |book|}}
  You can finish
  {{book}}
  eventually...
{{else}}
  Go to bed!
{{/when}}

{{! Prettier 2.8.1 }}
{{#when isAtWork as |work|}}
  Ship that
  {{work}}!
{{else when isReading}}
  You can finish
  {{book}}
  eventually...
{{else}}
  Go to bed!
{{/when}}

{{! Prettier 2.8.2 }}
{{#when isAtWork as |work|}}
  Ship that
  {{work}}!
{{else when isReading as |book|}}
  You can finish
  {{book}}
  eventually...
{{else}}
  Go to bed!
{{/when}}
```

##### Preserve empty lines between nested SCSS maps
([#&#8203;13931](https://togithub.com/prettier/prettier/pull/13931) by
[@&#8203;jneander](https://togithub.com/jneander))

<!-- prettier-ignore -->

```scss
/* Input */
$map: (
  'one': (
     'key': 'value',
  ),

  'two': (
     'key': 'value',
  ),
)

/* Prettier 2.8.1 */
$map: (
  'one': (
     'key': 'value',
  ),
  'two': (
     'key': 'value',
  ),
)

/* Prettier 2.8.2 */
$map: (
  'one': (
     'key': 'value',
  ),

  'two': (
     'key': 'value',
  ),
)
```

##### Fix missing parentheses when an expression statement starts with
`let[`
([#&#8203;14000](https://togithub.com/prettier/prettier/pull/14000),
[#&#8203;14044](https://togithub.com/prettier/prettier/pull/14044) by
[@&#8203;fisker](https://togithub.com/fisker),
[@&#8203;thorn0](https://togithub.com/thorn0))

<!-- prettier-ignore -->

```jsx
// Input
(let[0] = 2);

// Prettier 2.8.1
let[0] = 2;

// Prettier 2.8.1 (second format)
SyntaxError: Unexpected token (1:5)
> 1 | let[0] = 2;
    |     ^
  2 |

// Prettier 2.8.2
(let)[0] = 2;
```

##### Fix semicolon duplicated at the end of LESS file
([#&#8203;14007](https://togithub.com/prettier/prettier/pull/14007) by
[@&#8203;mvorisek](https://togithub.com/mvorisek))

<!-- prettier-ignore -->

```less
// Input
@&#8203;variable: {
  field: something;
};

// Prettier 2.8.1
@&#8203;variable: {
  field: something;
}; ;

// Prettier 2.8.2
@&#8203;variable: {
  field: something;
};
```

##### Fix no space after unary minus when followed by opening
parenthesis in LESS
([#&#8203;14008](https://togithub.com/prettier/prettier/pull/14008) by
[@&#8203;mvorisek](https://togithub.com/mvorisek))

<!-- prettier-ignore -->

```less
// Input
.unary_minus_single {
  margin: -(@&#8203;a);
}

.unary_minus_multi {
  margin: 0 -(@&#8203;a);
}

.binary_minus {
  margin: 0 - (@&#8203;a);
}

// Prettier 2.8.1
.unary_minus_single {
  margin: - (@&#8203;a);
}

.unary_minus_multi {
  margin: 0 - (@&#8203;a);
}

.binary_minus {
  margin: 0 - (@&#8203;a);
}

// Prettier 2.8.2
.unary_minus_single {
  margin: -(@&#8203;a);
}

.unary_minus_multi {
  margin: 0 -(@&#8203;a);
}

.binary_minus {
  margin: 0 - (@&#8203;a);
}
```

##### Do not change case of property name if inside a variable
declaration in LESS
([#&#8203;14034](https://togithub.com/prettier/prettier/pull/14034) by
[@&#8203;mvorisek](https://togithub.com/mvorisek))

<!-- prettier-ignore -->

```less
// Input
@&#8203;var: {
  preserveCase: 0;
};

// Prettier 2.8.1
@&#8203;var: {
  preservecase: 0;
};

// Prettier 2.8.2
@&#8203;var: {
  preserveCase: 0;
};
```

##### Fix formatting for auto-accessors with comments
([#&#8203;14038](https://togithub.com/prettier/prettier/pull/14038) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
class A {
  @&#8203;dec()
  // comment
  accessor b;
}

// Prettier 2.8.1
class A {
  @&#8203;dec()
  accessor // comment
  b;
}

// Prettier 2.8.1 (second format)
class A {
  @&#8203;dec()
  accessor; // comment
  b;
}

// Prettier 2.8.2
class A {
  @&#8203;dec()
  // comment
  accessor b;
}
```

##### Add parentheses for TSTypeQuery to improve readability
([#&#8203;14042](https://togithub.com/prettier/prettier/pull/14042) by
[@&#8203;onishi-kohei](https://togithub.com/onishi-kohei))

<!-- prettier-ignore -->

```tsx
// Input
a as (typeof node.children)[number]
a as (typeof node.children)[]
a as ((typeof node.children)[number])[]

// Prettier 2.8.1
a as typeof node.children[number];
a as typeof node.children[];
a as typeof node.children[number][];

// Prettier 2.8.2
a as (typeof node.children)[number];
a as (typeof node.children)[];
a as (typeof node.children)[number][];
```

##### Fix displacing of comments in default switch case
([#&#8203;14047](https://togithub.com/prettier/prettier/pull/14047) by
[@&#8203;thorn0](https://togithub.com/thorn0))

It was a regression in Prettier 2.6.0.

<!-- prettier-ignore -->

```jsx
// Input
switch (state) {
  default:
    result = state; // no change
    break;
}

// Prettier 2.8.1
switch (state) {
  default: // no change
    result = state;
    break;
}

// Prettier 2.8.2
switch (state) {
  default:
    result = state; // no change
    break;
}
```

##### Support type annotations on auto accessors via `babel-ts`
([#&#8203;14049](https://togithub.com/prettier/prettier/pull/14049) by
[@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki))

[The bug that `@babel/parser` cannot parse auto accessors with type
annotations](https://togithub.com/babel/babel/issues/15205) has been
fixed. So we now support it via `babel-ts` parser.

<!-- prettier-ignore -->

```tsx
class Foo {
  accessor prop: number;
}
```

##### Fix formatting of empty type parameters
([#&#8203;14073](https://togithub.com/prettier/prettier/pull/14073) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
const foo: bar</* comment */> = () => baz;

// Prettier 2.8.1
Error: Comment "comment" was not printed. Please report this error!

// Prettier 2.8.2
const foo: bar</* comment */> = () => baz;
```

##### Add parentheses to head of `ExpressionStatement` instead of the
whole statement
([#&#8203;14077](https://togithub.com/prettier/prettier/pull/14077) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
({}).toString.call(foo) === "[object Array]"
  ? foo.forEach(iterateArray)
  : iterateObject(foo);

// Prettier 2.8.1
({}.toString.call(foo) === "[object Array]"
  ? foo.forEach(iterateArray)
  : iterateObject(foo));

// Prettier 2.8.2
({}).toString.call(foo.forEach) === "[object Array]"
  ? foo.forEach(iterateArray)
  : iterateObject(foo);
```

##### Fix comments after directive
([#&#8203;14081](https://togithub.com/prettier/prettier/pull/14081) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
"use strict" /* comment */;

// Prettier 2.8.1 (with other js parsers except `babel`)
Error: Comment "comment" was not printed. Please report this error!

// Prettier 2.8.2
<Same as input>
```

##### Fix formatting for comments inside JSX attribute
([#&#8203;14082](https://togithub.com/prettier/prettier/pull/14082) with
by [@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
function MyFunctionComponent() {
  <button label=/*old*/"new">button</button>
}

// Prettier 2.8.1
Error: Comment "old" was not printed. Please report this error!

// Prettier 2.8.2
function MyFunctionComponent() {
  <button label=/*old*/ "new">button</button>;
}
```

##### Quote numeric keys for json-stringify parser
([#&#8203;14083](https://togithub.com/prettier/prettier/pull/14083) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
{0: 'value'}

// Prettier 2.8.1
{
  0: "value"
}

// Prettier 2.8.2
{
  "0": "value"
}
```

##### Fix removing commas from function arguments in maps
([#&#8203;14089](https://togithub.com/prettier/prettier/pull/14089) by
[@&#8203;sosukesuzuki](https://togithub.com/sosukesuzuki))

<!-- prettier-ignore -->

```scss
/* Input */
$foo: map-fn(
  (
    "#{prop}": inner-fn($first, $second),
  )
);

/* Prettier 2.8.1 */
$foo: map-fn(("#{prop}": inner-fn($first $second)));

/* Prettier 2.8.2 */
$foo: map-fn(
  (
    "#{prop}": inner-fn($first, $second),
  )
);

```

##### Do not insert space in LESS property access
([#&#8203;14103](https://togithub.com/prettier/prettier/pull/14103) by
[@&#8203;fisker](https://togithub.com/fisker))

<!-- prettier-ignore -->

```less
// Input
a {
  color: @&#8203;colors[@&#8203;white];
}

// Prettier 2.8.1
a {
  color: @&#8203;colors[ @&#8203;white];
}

// Prettier 2.8.2
<Same as input>
```

</details>

<details>
<summary>semantic-release/semantic-release</summary>

###
[`v20.1.0`](https://togithub.com/semantic-release/semantic-release/releases/tag/v20.1.0)

[Compare
Source](https://togithub.com/semantic-release/semantic-release/compare/v20.0.4...v20.1.0)

##### Features

- **plugins:** add support for loading ESM plugins
([#&#8203;2688](https://togithub.com/semantic-release/semantic-release/issues/2688))
([d170f73](https://togithub.com/semantic-release/semantic-release/commit/d170f73e0b2a8a853a7bc58977a6b4b0887d8f17))

###
[`v20.0.4`](https://togithub.com/semantic-release/semantic-release/releases/tag/v20.0.4)

[Compare
Source](https://togithub.com/semantic-release/semantic-release/compare/v20.0.3...v20.0.4)

##### Bug Fixes

- **windows:** fixed issues preventing execution from windows
([#&#8203;2672](https://togithub.com/semantic-release/semantic-release/issues/2672))
([5df624c](https://togithub.com/semantic-release/semantic-release/commit/5df624c6e50304743ca40e82958cae825452574f))

###
[`v20.0.3`](https://togithub.com/semantic-release/semantic-release/releases/tag/v20.0.3)

[Compare
Source](https://togithub.com/semantic-release/semantic-release/compare/v20.0.2...v20.0.3)

##### Reverts

- Revert "chore(deps): update dependency ava to v5.1.1"
([#&#8203;2682](https://togithub.com/semantic-release/semantic-release/issues/2682))
([914b0a2](https://togithub.com/semantic-release/semantic-release/commit/914b0a26424065e036c792f48c0179fb888ad810)),
closes
[#&#8203;2682](https://togithub.com/semantic-release/semantic-release/issues/2682)

###
[`v20.0.2`](https://togithub.com/semantic-release/semantic-release/releases/tag/v20.0.2)

[Compare
Source](https://togithub.com/semantic-release/semantic-release/compare/v20.0.1...v20.0.2)

##### Bug Fixes

- **deps:** update dependency semver-diff to v4
([#&#8203;1915](https://togithub.com/semantic-release/semantic-release/issues/1915))
([cb45d27](https://togithub.com/semantic-release/semantic-release/commit/cb45d27726418f27b20c9b7f2d50225c7a0028f6))

###
[`v20.0.1`](https://togithub.com/semantic-release/semantic-release/releases/tag/v20.0.1)

[Compare
Source](https://togithub.com/semantic-release/semantic-release/compare/v20.0.0...v20.0.1)

##### Bug Fixes

- **deps:** update dependency cosmiconfig to v8
([f914c1e](https://togithub.com/semantic-release/semantic-release/commit/f914c1ed86d6b1a8b797664d84c1bd095a21ddb4))
- **deps:** update dependency hosted-git-info to v6
([c4da008](https://togithub.com/semantic-release/semantic-release/commit/c4da008e29ccb3976385c446b317f7732218035a))

</details>

<details>
<summary>TypeStrong/TypeDoc</summary>

###
[`v0.23.24`](https://togithub.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v02324-2023-01-07)

[Compare
Source](https://togithub.com/TypeStrong/TypeDoc/compare/v0.23.23...v0.23.24)

##### Bug Fixes

- Fixed an issue where signature comments were preferred over property
comments for indirectly created function-properties,
[#&#8203;2135](https://togithub.com/TypeStrong/TypeDoc/issues/2135).
- Fixed symlink handling when expanding entry points,
[#&#8203;2130](https://togithub.com/TypeStrong/TypeDoc/issues/2130).

##### Thanks!

-   [@&#8203;boneskull](https://togithub.com/boneskull)

</details>

<details>
<summary>Microsoft/TypeScript</summary>

###
[`v4.9.5`](https://togithub.com/microsoft/TypeScript/releases/tag/v4.9.5):
TypeScript 4.9.5

[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v4.9.4...v4.9.5)

For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/).

Downloads are available on:

-   [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)

#### Changes:

-
[`69e88ef`](https://togithub.com/Microsoft/TypeScript/commit/69e88ef5513a81acf69ec78f4af1f927da0d0584)
Port ignore deprecations to 4.9
([#&#8203;52419](https://togithub.com/Microsoft/TypeScript/issues/52419))
-
[`daf4e81`](https://togithub.com/Microsoft/TypeScript/commit/daf4e817a18def96b70ac34703b158ff0e6d58df)
Port timestamp fix to 4.9
([#&#8203;52426](https://togithub.com/Microsoft/TypeScript/issues/52426))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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://app.renovatebot.com/dashboard#github/andipaetzold/react-firehooks).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC44MS4wIiwidXBkYXRlZEluVmVyIjoiMzQuMTI0LjIifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot pushed a commit to mheob/changeset-changelog that referenced this pull request Apr 9, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@changesets/cli](https://togithub.com/changesets/changesets/tree/main#readme) ([source](https://togithub.com/changesets/changesets)) | [`^2.26.0` -> `^2.26.1`](https://renovatebot.com/diffs/npm/@changesets%2fcli/2.26.0/2.26.1) | [![age](https://badges.renovateapi.com/packages/npm/@changesets%2fcli/2.26.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@changesets%2fcli/2.26.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@changesets%2fcli/2.26.1/compatibility-slim/2.26.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@changesets%2fcli/2.26.1/confidence-slim/2.26.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@commitlint/cli](https://commitlint.js.org/) ([source](https://togithub.com/conventional-changelog/commitlint)) | [`^17.3.0` -> `^17.5.0`](https://renovatebot.com/diffs/npm/@commitlint%2fcli/17.3.0/17.5.0) | [![age](https://badges.renovateapi.com/packages/npm/@commitlint%2fcli/17.5.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@commitlint%2fcli/17.5.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@commitlint%2fcli/17.5.0/compatibility-slim/17.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@commitlint%2fcli/17.5.0/confidence-slim/17.3.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@commitlint/config-conventional](https://commitlint.js.org/) ([source](https://togithub.com/conventional-changelog/commitlint)) | [`^17.3.0` -> `^17.4.4`](https://renovatebot.com/diffs/npm/@commitlint%2fconfig-conventional/17.3.0/17.4.4) | [![age](https://badges.renovateapi.com/packages/npm/@commitlint%2fconfig-conventional/17.4.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@commitlint%2fconfig-conventional/17.4.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@commitlint%2fconfig-conventional/17.4.4/compatibility-slim/17.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@commitlint%2fconfig-conventional/17.4.4/confidence-slim/17.3.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@mheob/eslint-config](https://togithub.com/mheob/config/tree/main/packages/eslint-config) ([source](https://togithub.com/mheob/config)) | [`^4.0.0` -> `^4.2.1`](https://renovatebot.com/diffs/npm/@mheob%2feslint-config/4.0.0/4.2.1) | [![age](https://badges.renovateapi.com/packages/npm/@mheob%2feslint-config/4.2.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mheob%2feslint-config/4.2.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mheob%2feslint-config/4.2.1/compatibility-slim/4.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mheob%2feslint-config/4.2.1/confidence-slim/4.0.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@mheob/prettier-config](https://togithub.com/mheob/config/tree/main/packages/prettier-config) ([source](https://togithub.com/mheob/config)) | [`^3.0.0` -> `^3.0.1`](https://renovatebot.com/diffs/npm/@mheob%2fprettier-config/3.0.0/3.0.1) | [![age](https://badges.renovateapi.com/packages/npm/@mheob%2fprettier-config/3.0.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mheob%2fprettier-config/3.0.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mheob%2fprettier-config/3.0.1/compatibility-slim/3.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mheob%2fprettier-config/3.0.1/confidence-slim/3.0.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`^18.11.18` -> `^18.15.9`](https://renovatebot.com/diffs/npm/@types%2fnode/18.11.18/18.15.9) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.9/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.9/compatibility-slim/18.11.18)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.9/confidence-slim/18.11.18)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest) | [`^0.26.3` -> `^0.29.7`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/0.26.3/0.29.7) | [![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.29.7/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.29.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.29.7/compatibility-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.29.7/confidence-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`^8.31.0` -> `^8.36.0`](https://renovatebot.com/diffs/npm/eslint/8.31.0/8.36.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.36.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.36.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.36.0/compatibility-slim/8.31.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.36.0/confidence-slim/8.31.0)](https://docs.renovatebot.com/merge-confidence/) |
| [lint-staged](https://togithub.com/okonet/lint-staged) | [`^13.1.0` -> `^13.2.0`](https://renovatebot.com/diffs/npm/lint-staged/13.1.0/13.2.0) | [![age](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/compatibility-slim/13.1.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/confidence-slim/13.1.0)](https://docs.renovatebot.com/merge-confidence/) |
| [tsup](https://tsup.egoist.dev/) ([source](https://togithub.com/egoist/tsup)) | [`^6.5.0` -> `^6.7.0`](https://renovatebot.com/diffs/npm/tsup/6.5.0/6.7.0) | [![age](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/compatibility-slim/6.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/confidence-slim/6.5.0)](https://docs.renovatebot.com/merge-confidence/) |
| [typescript](https://www.typescriptlang.org/) ([source](https://togithub.com/Microsoft/TypeScript)) | [`^4.9.4` -> `^4.9.5`](https://renovatebot.com/diffs/npm/typescript/4.9.4/4.9.5) | [![age](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/compatibility-slim/4.9.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/confidence-slim/4.9.4)](https://docs.renovatebot.com/merge-confidence/) |
| [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`^4.0.4` -> `^4.2.1`](https://renovatebot.com/diffs/npm/vite/4.0.4/4.2.1) | [![age](https://badges.renovateapi.com/packages/npm/vite/4.2.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vite/4.2.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vite/4.2.1/compatibility-slim/4.0.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vite/4.2.1/confidence-slim/4.0.4)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://togithub.com/vitest-dev/vitest) | [`^0.26.3` -> `^0.29.7`](https://renovatebot.com/diffs/npm/vitest/0.26.3/0.29.7) | [![age](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/compatibility-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/confidence-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>changesets/changesets</summary>

### [`v2.26.1`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/cli%402.26.1)

[Compare Source](https://togithub.com/changesets/changesets/compare/@changesets/cli@2.26.0...@changesets/cli@2.26.1)

##### Patch Changes

-   [#&#8203;1115](https://togithub.com/changesets/changesets/pull/1115) [`feddc88`](https://togithub.com/changesets/changesets/commit/feddc88d74781a448855a5a0b0ffa50917489b15) Thanks [@&#8203;Andarist](https://togithub.com/Andarist)! - Call `pnpm publish` directly from the directory of the published package. This allows `pnpm` to correctly handle configured `publishConfig.directory`.

</details>

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/cli)</summary>

### [`v17.5.0`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1750-httpsgithubcomconventional-changelogcommitlintcomparev1744v1750-2023-03-22)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.4...v17.5.0)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

#### [17.4.4](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.3...v17.4.4) (2023-02-17)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

#### [17.4.3](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.2...v17.4.3) (2023-02-13)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

#### [17.4.2](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.1...v17.4.2) (2023-01-12)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

#### [17.4.1](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.0...v17.4.1) (2023-01-09)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

### [`v17.4.4`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1744-httpsgithubcomconventional-changelogcommitlintcomparev1743v1744-2023-02-17)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.3...v17.4.4)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

### [`v17.4.3`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1743-httpsgithubcomconventional-changelogcommitlintcomparev1742v1743-2023-02-13)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.2...v17.4.3)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

### [`v17.4.2`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1742-httpsgithubcomconventional-changelogcommitlintcomparev1741v1742-2023-01-12)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.1...v17.4.2)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

### [`v17.4.1`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1741-httpsgithubcomconventional-changelogcommitlintcomparev1740v1741-2023-01-09)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.0...v17.4.1)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://togithub.com/commitlint/cli)

### [`v17.4.0`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1740-httpsgithubcomconventional-changelogcommitlintcomparev1730v1740-2023-01-04)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.3.0...v17.4.0)

##### Bug Fixes

-   update dependency fs-extra to v11 ([#&#8203;3460](https://togithub.com/conventional-changelog/commitlint/issues/3460)) ([a437923](https://togithub.com/conventional-changelog/commitlint/commit/a43792388e0d9707da770b26592c5e31553384a1))

</details>

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/config-conventional)</summary>

### [`v17.4.4`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#&#8203;1744-httpsgithubcomconventional-changelogcommitlintcomparev1743v1744-2023-02-17)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.3...v17.4.4)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional)

### [`v17.4.3`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#&#8203;1743-httpsgithubcomconventional-changelogcommitlintcomparev1742v1743-2023-02-13)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.2...v17.4.3)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional)

### [`v17.4.2`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#&#8203;1742-httpsgithubcomconventional-changelogcommitlintcomparev1741v1742-2023-01-12)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.4.0...v17.4.2)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional)

### [`v17.4.0`](https://togithub.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#&#8203;1740-httpsgithubcomconventional-changelogcommitlintcomparev1730v1740-2023-01-04)

[Compare Source](https://togithub.com/conventional-changelog/commitlint/compare/v17.3.0...v17.4.0)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://togithub.com/commitlint/config-conventional)

</details>

<details>
<summary>mheob/config</summary>

### [`v4.2.1`](https://togithub.com/mheob/config/releases/tag/%40mheob/eslint-config%404.2.1)

[Compare Source](https://togithub.com/mheob/config/compare/@mheob/eslint-config@4.2.0...@mheob/eslint-config@4.2.1)

##### Patch Changes

-   update dependencies --> ([#&#8203;121](https://togithub.com/mheob/config/pull/121)) by
    [@&#8203;mheob](https://togithub.com/mheob)

### [`v4.2.0`](https://togithub.com/mheob/config/releases/tag/%40mheob/eslint-config%404.2.0)

[Compare Source](https://togithub.com/mheob/config/compare/@mheob/eslint-config@4.1.0...@mheob/eslint-config@4.2.0)

##### Minor Changes

-   remove explicit return rule --> ([#&#8203;113](https://togithub.com/mheob/config/pull/113)) by
    [@&#8203;mheob](https://togithub.com/mheob)

-   move `explicit-function-return-type` rule to base config -->
    ([#&#8203;116](https://togithub.com/mheob/config/pull/116)) by [@&#8203;mheob](https://togithub.com/mheob)

##### Patch Changes

-   update dependencies --> ([#&#8203;112](https://togithub.com/mheob/config/pull/112)) by
    [@&#8203;mheob](https://togithub.com/mheob)

-   fix the README files after the change of using ESLint to fix the imports -->
    ([#&#8203;109](https://togithub.com/mheob/config/pull/109)) by [@&#8203;mheob](https://togithub.com/mheob)

### [`v4.1.0`](https://togithub.com/mheob/config/releases/tag/%40mheob/eslint-config%404.1.0)

[Compare Source](https://togithub.com/mheob/config/compare/@mheob/eslint-config@4.0.0...@mheob/eslint-config@4.1.0)

##### Minor Changes

-   add auto-fix for unused imports and vars --> ([#&#8203;106](https://togithub.com/mheob/config/pull/106)) by [@&#8203;mheob](https://togithub.com/mheob)

##### Patch Changes

-   bump `eslint-config-next` to `13.1.0` --> ([#&#8203;106](https://togithub.com/mheob/config/pull/106)) by [@&#8203;mheob](https://togithub.com/mheob)

</details>

<details>
<summary>vitest-dev/vitest</summary>

### [`v0.29.7`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.29.7)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

#####    🐞 Bug Fixes

-   Import [@&#8203;vite/client](https://togithub.com/vite/client) in browser code for handling optimizer  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(20c51)</samp>](https://togithub.com/vitest-dev/vitest/commit/20c510c4)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

### [`v0.29.6`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.29.6)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

#####    🐞 Bug Fixes

-   Bundle UI with [@&#8203;vitest/browser](https://togithub.com/vitest/browser)  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(14091)</samp>](https://togithub.com/vitest-dev/vitest/commit/14091c59)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

### [`v0.29.5`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.29.5)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

#####    🐞 Bug Fixes

-   **browser**: Relax vitest peer dependency  -  by [@&#8203;cexbrayat](https://togithub.com/cexbrayat) in [https://github.com/vitest-dev/vitest/issues/3039](https://togithub.com/vitest-dev/vitest/issues/3039) [<samp>(865d1)</samp>](https://togithub.com/vitest-dev/vitest/commit/865d1afd)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

### [`v0.29.4`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.29.4)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

#####    🚀 Features

-   `--test-timeout` CLI argument  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3019](https://togithub.com/vitest-dev/vitest/issues/3019) [<samp>(63c62)</samp>](https://togithub.com/vitest-dev/vitest/commit/63c62f9e)
-   Add an option to control Vitest pool with filepath  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3029](https://togithub.com/vitest-dev/vitest/issues/3029) [<samp>(c7f0c)</samp>](https://togithub.com/vitest-dev/vitest/commit/c7f0c86b)
-   Process timeout to log names of stuck test files  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3031](https://togithub.com/vitest-dev/vitest/issues/3031) [<samp>(0ddf7)</samp>](https://togithub.com/vitest-dev/vitest/commit/0ddf7220)
-   Support relative path in html report  -  by [@&#8203;poyoho](https://togithub.com/poyoho) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2695](https://togithub.com/vitest-dev/vitest/issues/2695) [<samp>(a7680)</samp>](https://togithub.com/vitest-dev/vitest/commit/a768015e)
-   Webdriverio (+ custom providers) integration for browser mode  -  by [@&#8203;Aslemammad](https://togithub.com/Aslemammad), **Christian Bromann**, [@&#8203;sheremet-va](https://togithub.com/sheremet-va), [@&#8203;userquin](https://togithub.com/userquin) and [@&#8203;dammy001](https://togithub.com/dammy001) in [https://github.com/vitest-dev/vitest/issues/2999](https://togithub.com/vitest-dev/vitest/issues/2999) [<samp>(9cdc8)</samp>](https://togithub.com/vitest-dev/vitest/commit/9cdc8030)

#####    🐞 Bug Fixes

-   Show correct line numbers in stack trace when using vi.resetModules()  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3020](https://togithub.com/vitest-dev/vitest/issues/3020) [<samp>(35730)</samp>](https://togithub.com/vitest-dev/vitest/commit/35730328)
-   Mocking value proxy filter Symbol static properties  -  by [@&#8203;ChpShy](https://togithub.com/ChpShy) in [https://github.com/vitest-dev/vitest/issues/3036](https://togithub.com/vitest-dev/vitest/issues/3036) [<samp>(0cf44)</samp>](https://togithub.com/vitest-dev/vitest/commit/0cf44098)
-   Escape XML in error stack trace when using junit reporter  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3038](https://togithub.com/vitest-dev/vitest/issues/3038) [<samp>(cc577)</samp>](https://togithub.com/vitest-dev/vitest/commit/cc5779d6)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

### [`v0.29.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.29.3)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

#####    🚀 Features

-   Use custom colors implementation instead of picocolors  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(427b0)</samp>](https://togithub.com/vitest-dev/vitest/commit/427b0622)
-   Uncaught errors to indicate env teardown  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2982](https://togithub.com/vitest-dev/vitest/issues/2982) [<samp>(1fe82)</samp>](https://togithub.com/vitest-dev/vitest/commit/1fe8286c)
-   **config**: Add an option to run setupFiles in sequence  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3008](https://togithub.com/vitest-dev/vitest/issues/3008) [<samp>(c2e25)</samp>](https://togithub.com/vitest-dev/vitest/commit/c2e25bb9)

#####    🐞 Bug Fixes

-   Console log not visible  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2943](https://togithub.com/vitest-dev/vitest/issues/2943) [<samp>(02808)</samp>](https://togithub.com/vitest-dev/vitest/commit/0280825f)
-   Remove duplicate execArgv when deps.registerNodeLoader: true  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2965](https://togithub.com/vitest-dev/vitest/issues/2965) [<samp>(a1954)</samp>](https://togithub.com/vitest-dev/vitest/commit/a1954cc0)
-   Prevent running test cases timers after environment teardown  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2971](https://togithub.com/vitest-dev/vitest/issues/2971) [<samp>(bde75)</samp>](https://togithub.com/vitest-dev/vitest/commit/bde75a34)
-   Don't mark setupFiles as test files, if experimentaOptimizer is used  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2974](https://togithub.com/vitest-dev/vitest/issues/2974) [<samp>(819c6)</samp>](https://togithub.com/vitest-dev/vitest/commit/819c6cbe)
-   Config errors not visible  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2995](https://togithub.com/vitest-dev/vitest/issues/2995) [<samp>(f01c7)</samp>](https://togithub.com/vitest-dev/vitest/commit/f01c7833)
-   \--inspect to work inside workers  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2983](https://togithub.com/vitest-dev/vitest/issues/2983) [<samp>(36087)</samp>](https://togithub.com/vitest-dev/vitest/commit/36087d1e)
-   **types**: Use `any` as default value for TArgs in vi.fn()  -  by [@&#8203;jessevanassen](https://togithub.com/jessevanassen) in [https://github.com/vitest-dev/vitest/issues/2947](https://togithub.com/vitest-dev/vitest/issues/2947) [<samp>(1bdcc)</samp>](https://togithub.com/vitest-dev/vitest/commit/1bdcc212)

#####    🏎 Performance

-   **reporters**: Overall improvements  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3006](https://togithub.com/vitest-dev/vitest/issues/3006) [<samp>(22ca0)</samp>](https://togithub.com/vitest-dev/vitest/commit/22ca0b6b)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

### [`v0.29.2`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.29.2)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

#####    🐞 Bug Fixes

-   Optimize dependencies in setup files  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2935](https://togithub.com/vitest-dev/vitest/issues/2935) [<samp>(c169f)</samp>](https://togithub.com/vitest-dev/vitest/commit/c169f980)
-   **coverage**: C8 provider to work when isolate:false  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2929](https://togithub.com/vitest-dev/vitest/issues/2929) [<samp>(86538)</samp>](https://togithub.com/vitest-dev/vitest/commit/8653830b)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

### [`v0.29.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.29.1)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

#####    🐞 Bug Fixes

-   Wait for optimized dependency to be bundled in non-pnpm package managers  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(d2460)</samp>](https://togithub.com/vitest-dev/vitest/commit/d2460b7a)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

### [`v0.29.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.29.0)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

This release makes some significant changes to how tests are running. If you were using `--no-threads` before, you might consider enabling `--single-thread` instead (because your tests are now running in `child_process` instead of a worker thread) or try our new performance optimization feature (discussed later). If you were relying on API that was not available inside a worker (like `process.chdir()`, you can now use this option.

One of the potential breaking bug fixes is that environments do not share the same global scope anymore if you run them with `--no-isolate`, `--no-threads` or `--single-thread` - you might need to update your setup files if you were relying on a global variable before.

If you had performance issues on large code bases before, try the new [`deps.experimentalOptimizer`](https://vitest.dev/config/#deps-experimentaloptimizer) option instead of disabling threads. Feedback is welcome!

One of the breaking changes includes adding a link to snapshots inside snapshot files, meaning you will need to update all your snapshots.

#####    🚨 Breaking Changes

-   Vitest as peer dependency for coverage packages  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2836](https://togithub.com/vitest-dev/vitest/issues/2836) [<samp>(94247)</samp>](https://togithub.com/vitest-dev/vitest/commit/94247f1b)
-   Coverage-c8 to use V8 profiler directly instead of `NODE_V8_COVERAGE`  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2786](https://togithub.com/vitest-dev/vitest/issues/2786) [<samp>(095c6)</samp>](https://togithub.com/vitest-dev/vitest/commit/095c6390)
-   Add a link to the comment at the top of the snapshot file  -  by [@&#8203;btea](https://togithub.com/btea) in [https://github.com/vitest-dev/vitest/issues/2867](https://togithub.com/vitest-dev/vitest/issues/2867) [<samp>(615e1)</samp>](https://togithub.com/vitest-dev/vitest/commit/615e150b)
-   Always run separate environments in isolation  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2860](https://togithub.com/vitest-dev/vitest/issues/2860) [<samp>(1f858)</samp>](https://togithub.com/vitest-dev/vitest/commit/1f858e0c)
    -   Tests with `node` and `jsdom` (and other environments) now don't share the same global scope, if you run them with `--no-isolate` or `--no-threads` flag. Vitest doesn't provide a way to restore the previous behavior as it is considered a bug.
-   Use child_process when --no-threads is used  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2772](https://togithub.com/vitest-dev/vitest/issues/2772) [<samp>(7bf54)</samp>](https://togithub.com/vitest-dev/vitest/commit/7bf54505)
    -   Tests inside `chid_process` might run longer due to the communication overhead. If you want to restore the previous behavior, use `--single-thread`.

#####    🚀 Features

-   Add test seed to banner  -  by [@&#8203;btkostner](https://togithub.com/btkostner) in [https://github.com/vitest-dev/vitest/issues/2877](https://togithub.com/vitest-dev/vitest/issues/2877) [<samp>(bdb39)</samp>](https://togithub.com/vitest-dev/vitest/commit/bdb39569)
-   Use custom source-map-support implementation  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2905](https://togithub.com/vitest-dev/vitest/issues/2905) [<samp>(6ff6c)</samp>](https://togithub.com/vitest-dev/vitest/commit/6ff6c6eb)
-   Add an option to enable Vite optimizer  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2912](https://togithub.com/vitest-dev/vitest/issues/2912) [<samp>(af8de)</samp>](https://togithub.com/vitest-dev/vitest/commit/af8de362)
-   **coverage**:
    -   Add support for coverage reporter options  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2690](https://togithub.com/vitest-dev/vitest/issues/2690) [<samp>(f8176)</samp>](https://togithub.com/vitest-dev/vitest/commit/f8176182)
    -   Automatic threshold updating  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2886](https://togithub.com/vitest-dev/vitest/issues/2886) [<samp>(e1652)</samp>](https://togithub.com/vitest-dev/vitest/commit/e1652163)
-   **spy**:
    -   Implement mock.withImplementation API  -  by [@&#8203;obadakhalili](https://togithub.com/obadakhalili) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2835](https://togithub.com/vitest-dev/vitest/issues/2835) [<samp>(610b1)</samp>](https://togithub.com/vitest-dev/vitest/commit/610b1d46)
-   **vite-node**:
    -   Cli option for vite mode  -  by [@&#8203;abarke](https://togithub.com/abarke) in [https://github.com/vitest-dev/vitest/issues/2893](https://togithub.com/vitest-dev/vitest/issues/2893) [<samp>(0fc08)</samp>](https://togithub.com/vitest-dev/vitest/commit/0fc08032)

#####    🐞 Bug Fixes

-   Wait for console.log to print a message before terminating a worker  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2861](https://togithub.com/vitest-dev/vitest/issues/2861) [<samp>(fbc54)</samp>](https://togithub.com/vitest-dev/vitest/commit/fbc54c91)
-   Cleanup last mocked cache when call vi.doMock  -  by [@&#8203;mysteryven](https://togithub.com/mysteryven) in [https://github.com/vitest-dev/vitest/issues/2872](https://togithub.com/vitest-dev/vitest/issues/2872) [<samp>(65d71)</samp>](https://togithub.com/vitest-dev/vitest/commit/65d71b9e)
-   Reload changed configuration file on watch mode  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2889](https://togithub.com/vitest-dev/vitest/issues/2889) [<samp>(4d277)</samp>](https://togithub.com/vitest-dev/vitest/commit/4d277d8d)
-   **coverage**: Custom providers to work inside worker threads  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2817](https://togithub.com/vitest-dev/vitest/issues/2817) [<samp>(81604)</samp>](https://togithub.com/vitest-dev/vitest/commit/81604bce)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

### [`v0.28.5`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.5)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.4...v0.28.5)

#####    🚀 Features

-   Add --script option to vite-node  -  by [@&#8203;jgoux](https://togithub.com/jgoux) and [@&#8203;dammy001](https://togithub.com/dammy001) in [https://github.com/vitest-dev/vitest/issues/2793](https://togithub.com/vitest-dev/vitest/issues/2793) [<samp>(d3d6b)</samp>](https://togithub.com/vitest-dev/vitest/commit/d3d6b1fc)
-   Inject executor directly into runner  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2858](https://togithub.com/vitest-dev/vitest/issues/2858) [<samp>(62c43)</samp>](https://togithub.com/vitest-dev/vitest/commit/62c43420)

#####    🐞 Bug Fixes

-   Don't call "afterAll" hooks, if suite was skipped  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2802](https://togithub.com/vitest-dev/vitest/issues/2802) [<samp>(aa1aa)</samp>](https://togithub.com/vitest-dev/vitest/commit/aa1aa4da)
-   Always display serialized error, even if it doesn't have stack  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2829](https://togithub.com/vitest-dev/vitest/issues/2829) [<samp>(ab5f8)</samp>](https://togithub.com/vitest-dev/vitest/commit/ab5f8927)
-   Clear mocks between tests  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2857](https://togithub.com/vitest-dev/vitest/issues/2857) [<samp>(c420c)</samp>](https://togithub.com/vitest-dev/vitest/commit/c420cb7b)
-   **expect**:
    -   Check for no 'throw' type in toHaveReturned  -  by [@&#8203;trivikr](https://togithub.com/trivikr) in [https://github.com/vitest-dev/vitest/issues/2850](https://togithub.com/vitest-dev/vitest/issues/2850) [<samp>(1164c)</samp>](https://togithub.com/vitest-dev/vitest/commit/1164c478)
    -   Accept array index as number in toHaveProperty  -  by [@&#8203;trivikr](https://togithub.com/trivikr) in [https://github.com/vitest-dev/vitest/issues/2808](https://togithub.com/vitest-dev/vitest/issues/2808) [<samp>(8705e)</samp>](https://togithub.com/vitest-dev/vitest/commit/8705e6b2)

#####    🏎 Performance

-   Don't inline Vitest entry  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2819](https://togithub.com/vitest-dev/vitest/issues/2819) [<samp>(570c6)</samp>](https://togithub.com/vitest-dev/vitest/commit/570c639e)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.4...v0.28.5)

### [`v0.28.4`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.4)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.3...v0.28.4)

#####    🐞 Bug Fixes

-   Setup correct utils inside asymmetric matchers  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2768](https://togithub.com/vitest-dev/vitest/issues/2768) [<samp>(415c8)</samp>](https://togithub.com/vitest-dev/vitest/commit/415c8a93)
-   Cjs exports has Object.prototype instead of null  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2769](https://togithub.com/vitest-dev/vitest/issues/2769) [<samp>(4fc49)</samp>](https://togithub.com/vitest-dev/vitest/commit/4fc492c6)
-   Duplicate callbacks in vite-node HMR  -  by [@&#8203;jgoux](https://togithub.com/jgoux) in [https://github.com/vitest-dev/vitest/issues/2792](https://togithub.com/vitest-dev/vitest/issues/2792) [<samp>(f0333)</samp>](https://togithub.com/vitest-dev/vitest/commit/f03337ae)
-   Do not include source files in `onWatcherStart` when `typecheck.ignoreSourceErrors` is true  -  by [@&#8203;mascii](https://togithub.com/mascii) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2774](https://togithub.com/vitest-dev/vitest/issues/2774) [<samp>(d612e)</samp>](https://togithub.com/vitest-dev/vitest/commit/d612efdf)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.3...v0.28.4)

### [`v0.28.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.3)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.2...v0.28.3)

#####    🚀 Features

-   Allow using atomics to communicate between threads  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2758](https://togithub.com/vitest-dev/vitest/issues/2758) [<samp>(3679c)</samp>](https://togithub.com/vitest-dev/vitest/commit/3679cf25)
-   Show active filename pattern on CLI  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) [<samp>(a0455)</samp>](https://togithub.com/vitest-dev/vitest/commit/a0455917)
-   Show active test name pattern on CLI  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) [<samp>(df7c4)</samp>](https://togithub.com/vitest-dev/vitest/commit/df7c410a)
-   Allow `config` option to be false  -  by [@&#8203;antfu](https://togithub.com/antfu) in [https://github.com/vitest-dev/vitest/issues/2749](https://togithub.com/vitest-dev/vitest/issues/2749) [<samp>(c66e3)</samp>](https://togithub.com/vitest-dev/vitest/commit/c66e335b)

#####    🐞 Bug Fixes

-   Watch mode's filename pattern to persist on unrelated file changes  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) [<samp>(712ac)</samp>](https://togithub.com/vitest-dev/vitest/commit/712ac15b)
-   Watch mode's filename pattern to persist re-run of failed tests, snapshot updates and testname filter changes  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) [<samp>(1c65a)</samp>](https://togithub.com/vitest-dev/vitest/commit/1c65ac48)
-   Dont incorrectly mark run failed if filename pattern excludes previously failed tests  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) [<samp>(61cf9)</samp>](https://togithub.com/vitest-dev/vitest/commit/61cf9a7a)
-   **coverage**: Istanbul crashes when no tests were run  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2753](https://togithub.com/vitest-dev/vitest/issues/2753) [<samp>(ebc95)</samp>](https://togithub.com/vitest-dev/vitest/commit/ebc95add)

#####    🏎 Performance

-   Don't import vite in worker  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2759](https://togithub.com/vitest-dev/vitest/issues/2759) [<samp>(e49c1)</samp>](https://togithub.com/vitest-dev/vitest/commit/e49c13fa)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.2...v0.28.3)

### [`v0.28.2`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.2)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.1...v0.28.2)

#####    🐞 Bug Fixes

-   Send stderr header log to stderr  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2736](https://togithub.com/vitest-dev/vitest/issues/2736) [<samp>(998ea)</samp>](https://togithub.com/vitest-dev/vitest/commit/998ea804)
-   Call afterAll, if beforeAll failed  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2737](https://togithub.com/vitest-dev/vitest/issues/2737) [<samp>(1904c)</samp>](https://togithub.com/vitest-dev/vitest/commit/1904c9c4)
-   **vite-node**: Don't cache modules with `timestamp: 0`  -  by [@&#8203;danielroe](https://togithub.com/danielroe) in [https://github.com/vitest-dev/vitest/issues/2747](https://togithub.com/vitest-dev/vitest/issues/2747) [<samp>(e88c0)</samp>](https://togithub.com/vitest-dev/vitest/commit/e88c04c4)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.1...v0.28.2)

### [`v0.28.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.1)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.28.0...v0.28.1)

#####    🐞 Bug Fixes

-   Remove UI from Vitest dependencies  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(b120c)</samp>](https://togithub.com/vitest-dev/vitest/commit/b120ca3f)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.28.0...v0.28.1)

### [`v0.28.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.28.0)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.3...v0.28.0)

#####    🚨 Breaking Changes

-   Don't rely on environment for interopDefault  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2682](https://togithub.com/vitest-dev/vitest/issues/2682) [<samp>(3f20c)</samp>](https://togithub.com/vitest-dev/vitest/commit/3f20cf5a)
-   Move test runner into a separate package  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2721](https://togithub.com/vitest-dev/vitest/issues/2721) [<samp>(482b7)</samp>](https://togithub.com/vitest-dev/vitest/commit/482b72fc)
    -   To extend text context, you need to augment `@vitet/runner` package instead of `vitest`

#####    🐞 Bug Fixes

-   **coverage**: C8 to log warning when run in Stackblitz  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2735](https://togithub.com/vitest-dev/vitest/issues/2735) [<samp>(b6c41)</samp>](https://togithub.com/vitest-dev/vitest/commit/b6c41caa)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.3...v0.28.0)

### [`v0.27.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.3)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.2...v0.27.3)

#####    🚀 Features

-   Throw unhandled exception, if code throws "error" event  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2691](https://togithub.com/vitest-dev/vitest/issues/2691) [<samp>(6a30c)</samp>](https://togithub.com/vitest-dev/vitest/commit/6a30cdd3)
-   New `environmentMatchGlobs` option to auto infer env based on glob  -  by [@&#8203;antfu](https://togithub.com/antfu) in [https://github.com/vitest-dev/vitest/issues/2714](https://togithub.com/vitest-dev/vitest/issues/2714) [<samp>(3e142)</samp>](https://togithub.com/vitest-dev/vitest/commit/3e1429e5)
-   Add basic reporter which allow user to use reporter in ci  -  by [@&#8203;trim21](https://togithub.com/trim21) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2612](https://togithub.com/vitest-dev/vitest/issues/2612) [<samp>(5df52)</samp>](https://togithub.com/vitest-dev/vitest/commit/5df522f7)
-   Improve "isCI" check  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2705](https://togithub.com/vitest-dev/vitest/issues/2705) [<samp>(e6457)</samp>](https://togithub.com/vitest-dev/vitest/commit/e64570df)

#####    🐞 Bug Fixes

-   Show error in the terminal, if "only" flag is used  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2696](https://togithub.com/vitest-dev/vitest/issues/2696) [<samp>(24d63)</samp>](https://togithub.com/vitest-dev/vitest/commit/24d63809)
-   Cpu and heap profiling options for workers  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2702](https://togithub.com/vitest-dev/vitest/issues/2702) [<samp>(c31a0)</samp>](https://togithub.com/vitest-dev/vitest/commit/c31a0b20)
-   Show correct number of tests in test summary  -  by [@&#8203;poyoho](https://togithub.com/poyoho) in [https://github.com/vitest-dev/vitest/issues/2703](https://togithub.com/vitest-dev/vitest/issues/2703) [<samp>(859e7)</samp>](https://togithub.com/vitest-dev/vitest/commit/859e7f01)
-   Don't terminate workers on Node 14 to not trigger fatal error  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2697](https://togithub.com/vitest-dev/vitest/issues/2697) [<samp>(db9b6)</samp>](https://togithub.com/vitest-dev/vitest/commit/db9b6bb7)
-   Allow custom async matchers  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2707](https://togithub.com/vitest-dev/vitest/issues/2707) [<samp>(b5669)</samp>](https://togithub.com/vitest-dev/vitest/commit/b566912d)
-   Remove setup files from coverage  -  by [@&#8203;g4rry420](https://togithub.com/g4rry420) in [https://github.com/vitest-dev/vitest/issues/2574](https://togithub.com/vitest-dev/vitest/issues/2574) [<samp>(488e4)</samp>](https://togithub.com/vitest-dev/vitest/commit/488e4b9f)
-   `reportCoverage` context can be optional  -  by [@&#8203;antfu](https://togithub.com/antfu) [<samp>(4cd1e)</samp>](https://togithub.com/vitest-dev/vitest/commit/4cd1e5d7)
-   ENOENT assets when htmldir exists  -  by [@&#8203;everett1992](https://togithub.com/everett1992) in [https://github.com/vitest-dev/vitest/issues/2701](https://togithub.com/vitest-dev/vitest/issues/2701) [<samp>(5a656)</samp>](https://togithub.com/vitest-dev/vitest/commit/5a656753)
-   Correctly resolve paths relative to root, when used outside of root directory  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2687](https://togithub.com/vitest-dev/vitest/issues/2687) [<samp>(703aa)</samp>](https://togithub.com/vitest-dev/vitest/commit/703aab46)
-   **typecheck**: Store tmp tsconfig close to original one  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2660](https://togithub.com/vitest-dev/vitest/issues/2660) [<samp>(26f91)</samp>](https://togithub.com/vitest-dev/vitest/commit/26f915ad)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.2...v0.27.3)

### [`v0.27.2`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.2)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.1...v0.27.2)

#####    🚀 Features

-   Add runAllTimersAsync from sinonjs  -  by [@&#8203;guillaumeduboc](https://togithub.com/guillaumeduboc) in [https://github.com/vitest-dev/vitest/issues/2209](https://togithub.com/vitest-dev/vitest/issues/2209) [<samp>(40187)</samp>](https://togithub.com/vitest-dev/vitest/commit/40187bdb)

#####    🐞 Bug Fixes

-   Document.defaultView references the same window as the global one  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2649](https://togithub.com/vitest-dev/vitest/issues/2649) [<samp>(1ac4b)</samp>](https://togithub.com/vitest-dev/vitest/commit/1ac4bb8d)
-   Trim input filename and test name  -  by [@&#8203;btea](https://togithub.com/btea) in [https://github.com/vitest-dev/vitest/issues/2650](https://togithub.com/vitest-dev/vitest/issues/2650) [<samp>(d3dcb)</samp>](https://togithub.com/vitest-dev/vitest/commit/d3dcbdc8)
-   Increase default teardownTimeout  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(13e53)</samp>](https://togithub.com/vitest-dev/vitest/commit/13e53ac7)
-   Mock css files imported with "require"  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2679](https://togithub.com/vitest-dev/vitest/issues/2679) [<samp>(6c1a2)</samp>](https://togithub.com/vitest-dev/vitest/commit/6c1a26a6)
-   Don't start watching files in "run" mode  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2680](https://togithub.com/vitest-dev/vitest/issues/2680) [<samp>(0a31e)</samp>](https://togithub.com/vitest-dev/vitest/commit/0a31e85c)
-   Rerun tests, when setup file is edited  -  by [@&#8203;mysteryven](https://togithub.com/mysteryven) and [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2625](https://togithub.com/vitest-dev/vitest/issues/2625) [<samp>(019a6)</samp>](https://togithub.com/vitest-dev/vitest/commit/019a6d57)
-   Always show filename for unhandled errors  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2689](https://togithub.com/vitest-dev/vitest/issues/2689) [<samp>(15aa0)</samp>](https://togithub.com/vitest-dev/vitest/commit/15aa0156)
-   Define property instead of assigning it in vi.stubGlobal  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2685](https://togithub.com/vitest-dev/vitest/issues/2685) [<samp>(8a1d7)</samp>](https://togithub.com/vitest-dev/vitest/commit/8a1d7590)
-   **coverage**: Watch mode to use `coverage.all` only when all tests are run  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2665](https://togithub.com/vitest-dev/vitest/issues/2665) [<samp>(85096)</samp>](https://togithub.com/vitest-dev/vitest/commit/85096281)
-   **typecheck**: Log tests with verbose reporter, correctly show "pass" tests  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2656](https://togithub.com/vitest-dev/vitest/issues/2656) [<samp>(61dde)</samp>](https://togithub.com/vitest-dev/vitest/commit/61ddebae)
-   **ui**: Don't show "connecting" screen in html reporter  -  by [@&#8203;poyoho](https://togithub.com/poyoho) in [https://github.com/vitest-dev/vitest/issues/2693](https://togithub.com/vitest-dev/vitest/issues/2693) [<samp>(d8548)</samp>](https://togithub.com/vitest-dev/vitest/commit/d8548c69)

#####    🏎 Performance

-   Don't resolve import path, if it was already resolved  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2659](https://togithub.com/vitest-dev/vitest/issues/2659) [<samp>(45cc3)</samp>](https://togithub.com/vitest-dev/vitest/commit/45cc3423)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.1...v0.27.2)

### [`v0.27.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.1)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.27.0...v0.27.1)

#####    🚀 Features

-   Show error, when process.exit is called  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2643](https://togithub.com/vitest-dev/vitest/issues/2643) [<samp>(866f4)</samp>](https://togithub.com/vitest-dev/vitest/commit/866f4494)
-   Add more information about unhandler error  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2642](https://togithub.com/vitest-dev/vitest/issues/2642) [<samp>(1ffb0)</samp>](https://togithub.com/vitest-dev/vitest/commit/1ffb0ef5)
-   Display running processes, if vitest closes with timeout  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2633](https://togithub.com/vitest-dev/vitest/issues/2633) [<samp>(94968)</samp>](https://togithub.com/vitest-dev/vitest/commit/94968a6f)

#####    🐞 Bug Fixes

-   Type issue with spyOn method  -  by [@&#8203;samkevin1](https://togithub.com/samkevin1) in [https://github.com/vitest-dev/vitest/issues/2365](https://togithub.com/vitest-dev/vitest/issues/2365) and [https://github.com/vitest-dev/vitest/issues/2582](https://togithub.com/vitest-dev/vitest/issues/2582) [<samp>(1aaa7)</samp>](https://togithub.com/vitest-dev/vitest/commit/1aaa79d7)
-   Add missing types in TS project when global is true  -  by [@&#8203;Sneaken](https://togithub.com/Sneaken) in [https://github.com/vitest-dev/vitest/issues/2631](https://togithub.com/vitest-dev/vitest/issues/2631) [<samp>(4745e)</samp>](https://togithub.com/vitest-dev/vitest/commit/4745eaa2)
-   Always report failed test in junit reporter  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2632](https://togithub.com/vitest-dev/vitest/issues/2632) [<samp>(83da2)</samp>](https://togithub.com/vitest-dev/vitest/commit/83da2ec4)
-   Change Vite root, if test.root is used  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2637](https://togithub.com/vitest-dev/vitest/issues/2637) [<samp>(efbff)</samp>](https://togithub.com/vitest-dev/vitest/commit/efbff2a2)
-   Don't use ownKeys, when interoping a module  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2629](https://togithub.com/vitest-dev/vitest/issues/2629) [<samp>(a186a)</samp>](https://togithub.com/vitest-dev/vitest/commit/a186a7e1)
-   Cut duplicate error in negated toHaveBeenCalled  -  by [@&#8203;richardboehme](https://togithub.com/richardboehme) in [https://github.com/vitest-dev/vitest/issues/2638](https://togithub.com/vitest-dev/vitest/issues/2638) [<samp>(09d62)</samp>](https://togithub.com/vitest-dev/vitest/commit/09d62226)
-   Always update last HMR ms on a module  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(99676)</samp>](https://togithub.com/vitest-dev/vitest/commit/9967645a)
-   Terminate workers, when closing process  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2645](https://togithub.com/vitest-dev/vitest/issues/2645) [<samp>(ece43)</samp>](https://togithub.com/vitest-dev/vitest/commit/ece434a3)
-   **coverage**:
    -   Prevent c8 from crashing on invalid sourcemaps  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2634](https://togithub.com/vitest-dev/vitest/issues/2634) [<samp>(0163d)</samp>](https://togithub.com/vitest-dev/vitest/commit/0163dc80)
    -   Istanbul provider to use `coverage.extension`  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2641](https://togithub.com/vitest-dev/vitest/issues/2641) [<samp>(7e388)</samp>](https://togithub.com/vitest-dev/vitest/commit/7e388903)

#####     [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.27.0...v0.27.1)

### [`v0.27.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.27.0)

[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.26.3...v0.27.0)

#####    🚨 Breaking Changes

-   Deprecate "error" on result, store errors in "errors"  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2586](https://togithub.com/vitest-dev/vitest/issues/2586) [<samp>(e641a)</samp>](https://togithub.com/vitest-dev/vitest/commit/e641a110)
-   Split vitest into separate packages, but still bundle them for the time being  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2575](https://togithub.com/vitest-dev/vitest/issues/2575) [<samp>(c8e6f)</samp>](https://togithub.com/vitest-dev/vitest/commit/c8e6fb69)

#####    🚀 Features

-   **coverage**: report only changed files when using istanbul coverage with watch mode  -  by [@&#8203;g4rry420](https://togithub.com/g4rry420) in [https://github.com/vitest-dev/vitest/issues/2385](https://togithub.com/vitest-dev/vitest/issues/2385) [<samp>(bf872)</samp>](https://togithub.com/vitest-dev/vitest/commit/bf87282c)

#####    🐞 Bug Fixes

-   Return mock path only when mocked  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2619](https://togithub.com/vitest-dev/vitest/issues/2619) [<samp>(f8ac2)</samp>](https://togithub.com/vitest-dev/vitest/commit/f8ac2094)
-   Allow mocking CJS module with interoped default  -  by [@&#8203;sheremet-va](https://togithub.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2598](https://togithub.com/vitest-dev/vitest/issues/2598

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Wednesday" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] 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://app.renovatebot.com/dashboard#github/mheob/changeset-changelog).
@g4rry420 g4rry420 deleted the issue_2316 branch May 11, 2023 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Coverage report is not only generated for changed files in watch mode
3 participants