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

vi.fn(mockImplementation) does not expose implementation #3260

Closed
6 tasks done
Codex- opened this issue Apr 26, 2023 · 1 comment · Fixed by #3263
Closed
6 tasks done

vi.fn(mockImplementation) does not expose implementation #3260

Codex- opened this issue Apr 26, 2023 · 1 comment · Fixed by #3263

Comments

@Codex-
Copy link
Contributor

Codex- commented Apr 26, 2023

Describe the bug

When using vi.fn() to create a mock:

const fnWithMock = vi.fn(() => 1)

The provided mock should be obtainable via getMockImplementation, but it is not:

> fnWithMock.getMockImplementation()
undefined

Upon some quick investigation this appears to be because of how the call to enhanceSpy from fn assumes that no implementation has been provided.

If you set an implementation after the initialisation, then you get the expected behaviour as the setter sets implementation.

We could do something like this:

export function fn<TArgs extends any[] = any[], R = any>(
  implementation?: (...args: TArgs) => R,
): Mock<TArgs, R> {
  const enhancedSpy = enhanceSpy(tinyspy.internalSpyOn({ fn: () => {} }, 'fn'))
  if (implementation)
    enhancedSpy.mockImplementation(implementation)

  return enhancedSpy as Mock
}

This would prevent breaking how spyOn works already, if you're happy with this, I can make a PR.

There are some existing tests in jest-mock.ts, however these assert expect(spy.getMockImplementation()).toBe(undefined) when it should actually be defined.

Reproduction

https://stackblitz.com/edit/vitest-dev-vitest-vuwwus?file=test/fn.test.ts

System Info

System:
    OS: macOS 13.3.1
    CPU: (8) arm64 Apple M1
    Memory: 43.36 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 16.19.0 - ~/.asdf/installs/nodejs/lts-gallium/bin/node
    Yarn: 1.22.19 - ~/.asdf/installs/nodejs/lts-gallium/.npm/bin/yarn
    npm: 8.19.3 - ~/.asdf/plugins/nodejs/shims/npm
  Browsers:
    Chrome: 112.0.5615.137
    Firefox Developer Edition: 112.0
    Safari: 16.4
  npmPackages:
    @vitest/browser: workspace:* => 0.30.1 
    @vitest/coverage-c8: workspace:* => 0.30.1 
    @vitest/coverage-istanbul: workspace:* => 0.30.1 
    @vitest/ui: workspace:* => 0.30.1 
    vite: ^4.2.1 => 4.2.1 
    vitest: workspace:* => 0.30.1

Used Package Manager

npm

Validations

@stackblitz
Copy link

stackblitz bot commented Apr 26, 2023

Fix this issue in StackBlitz Codeflow Start a new pull request in StackBlitz Codeflow.

renovate bot referenced this issue in creatorsgarten/contentsgarten May 4, 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://github.com/vitest-dev/vitest) | [`^0.30.1` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.30.1/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module '@&#8203;vitest/expect' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.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/creatorsgarten/contentsgarten).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in fwouts/previewjs May 4, 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://github.com/vitest-dev/vitest) | [`^0.30.1` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.30.1/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.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:eyJjcmVhdGVkSW5WZXIiOiIzNS42OS4zIiwidXBkYXRlZEluVmVyIjoiMzUuNjkuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
christianemmert referenced this issue in christianemmert/ts-starter May 4, 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 |
|---|---|---|---|---|---|
|
[@types/eslint](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/eslint)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) |
[`8.21.1` ->
`8.37.0`](https://renovatebot.com/diffs/npm/@types%2feslint/8.21.1/8.37.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2feslint/8.37.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2feslint/8.37.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2feslint/8.37.0/compatibility-slim/8.21.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2feslint/8.37.0/confidence-slim/8.21.1)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.14.6` ->
`18.16.3`](https://renovatebot.com/diffs/npm/@types%2fnode/18.14.6/18.16.3)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.3/compatibility-slim/18.14.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.3/confidence-slim/18.14.6)](https://docs.renovatebot.com/merge-confidence/)
|
| [eslint](https://eslint.org)
([source](https://github.com/eslint/eslint)) | [`8.35.0` ->
`8.39.0`](https://renovatebot.com/diffs/npm/eslint/8.35.0/8.39.0) |
[![age](https://badges.renovateapi.com/packages/npm/eslint/8.39.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.39.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/eslint/8.39.0/compatibility-slim/8.35.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.39.0/confidence-slim/8.35.0)](https://docs.renovatebot.com/merge-confidence/)
|
| [prettier](https://prettier.io)
([source](https://github.com/prettier/prettier)) | [`2.8.4` ->
`2.8.8`](https://renovatebot.com/diffs/npm/prettier/2.8.4/2.8.8) |
[![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.8/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.8/compatibility-slim/2.8.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.8/confidence-slim/2.8.4)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://github.com/Microsoft/TypeScript)) | [`5.0.2` ->
`5.0.4`](https://renovatebot.com/diffs/npm/typescript/5.0.2/5.0.4) |
[![age](https://badges.renovateapi.com/packages/npm/typescript/5.0.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typescript/5.0.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typescript/5.0.4/compatibility-slim/5.0.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typescript/5.0.4/confidence-slim/5.0.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [vitest](https://github.com/vitest-dev/vitest) | [`^0.30.0` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.30.1/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>eslint/eslint</summary>

### [`v8.39.0`](https://github.com/eslint/eslint/releases/tag/v8.39.0)

[Compare
Source](https://github.com/eslint/eslint/compare/v8.38.0...v8.39.0)

#### Features

-
[`3f7af9f`](https://github.com/eslint/eslint/commit/3f7af9f408625dbc486af914706d34c4b483b5ba)
feat: Implement `SourceCode#markVariableAsUsed()`
([#&#8203;17086](https://github.com/eslint/eslint/issues/17086))
(Nicholas C. Zakas)

#### Documentation

-
[`6987dc5`](https://github.com/eslint/eslint/commit/6987dc59e46f4e345d0d6c20c1f2c6846bbd7acc)
docs: Fix formatting in Custom Rules docs
([#&#8203;17097](https://github.com/eslint/eslint/issues/17097))
(Milos Djermanovic)
-
[`4ee92e5`](https://github.com/eslint/eslint/commit/4ee92e5cbdeba6fea2147901ce926de16946958a)
docs: Update README (GitHub Actions Bot)
-
[`d8e9887`](https://github.com/eslint/eslint/commit/d8e9887c2c384d24d586d08ee9ae2ada79bd234c)
docs: Custom Rules cleanup/expansion
([#&#8203;16906](https://github.com/eslint/eslint/issues/16906)) (Ben
Perlmutter)
-
[`1fea279`](https://github.com/eslint/eslint/commit/1fea2797801a82a2718814c83dad641dab092bcc)
docs: Clarify how to add to tsc agenda
([#&#8203;17084](https://github.com/eslint/eslint/issues/17084))
(Nicholas C. Zakas)
-
[`970ef1c`](https://github.com/eslint/eslint/commit/970ef1c868235a58297682513842f1256cdfbd03)
docs: Update triage board location (Nicholas C. Zakas)
-
[`6d8bffd`](https://github.com/eslint/eslint/commit/6d8bffdf45d50e272dc45e6d2d05b4a737514468)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`60a6f26`](https://github.com/eslint/eslint/commit/60a6f2694deb4aa1c54de2a28d0357cddfd16644)
chore: upgrade
[@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).39.0
([#&#8203;17102](https://github.com/eslint/eslint/issues/17102))
(Milos Djermanovic)
-
[`d5ba5c0`](https://github.com/eslint/eslint/commit/d5ba5c0a85e7a10777761f5d46c104ab7f25845b)
chore: package.json update for
[@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint
Jenkins)
-
[`f57eff2`](https://github.com/eslint/eslint/commit/f57eff20f5789408e95061f1af5354bb9b4f4784)
ci: run tests on Node.js v20
([#&#8203;17093](https://github.com/eslint/eslint/issues/17093))
(Nitin Kumar)
-
[`9d1b8fc`](https://github.com/eslint/eslint/commit/9d1b8fc60cc31f12618e58c10a2669506b7ce9bf)
perf: Binary search in token store `utils.search`
([#&#8203;17066](https://github.com/eslint/eslint/issues/17066))
(Francesco Trotta)
-
[`07a4435`](https://github.com/eslint/eslint/commit/07a4435a0c08cb63ebf11b71f735bac20318829b)
chore: Add request for minimal repro to bug report
([#&#8203;17081](https://github.com/eslint/eslint/issues/17081))
(Nicholas C. Zakas)
-
[`eac4943`](https://github.com/eslint/eslint/commit/eac4943ba2e4edb3dbfea0470e5d4b15a4926c40)
refactor: remove unnecessary use of `SourceCode#getAncestors` in rules
([#&#8203;17075](https://github.com/eslint/eslint/issues/17075))
(Milos Djermanovic)
-
[`0a7b60a`](https://github.com/eslint/eslint/commit/0a7b60a9d5621dbbc1a8a8adda3b7c2060c779ca)
chore: update description of `SourceCode#getDeclaredVariables`
([#&#8203;17072](https://github.com/eslint/eslint/issues/17072))
(Milos Djermanovic)
-
[`6e2df71`](https://github.com/eslint/eslint/commit/6e2df71cc390252aaca212abe3dc0467fe397450)
chore: remove unnecessary references to the LICENSE file
([#&#8203;17071](https://github.com/eslint/eslint/issues/17071))
(Milos Djermanovic)

### [`v8.38.0`](https://github.com/eslint/eslint/releases/tag/v8.38.0)

[Compare
Source](https://github.com/eslint/eslint/compare/v8.37.0...v8.38.0)

#### Features

-
[`a1d561d`](https://github.com/eslint/eslint/commit/a1d561d18ed653b56bddbfb1bab1ebe957293563)
feat: Move getDeclaredVariables and getAncestors to SourceCode
([#&#8203;17059](https://github.com/eslint/eslint/issues/17059))
(Nicholas C. Zakas)

#### Bug Fixes

-
[`1c1ece2`](https://github.com/eslint/eslint/commit/1c1ece26d1da61e523b83dda25353ec9379eb6c9)
fix: do not report on `RegExp(...args)` in `require-unicode-regexp`
([#&#8203;17037](https://github.com/eslint/eslint/issues/17037))
(Francesco Trotta)

#### Documentation

-
[`7162d34`](https://github.com/eslint/eslint/commit/7162d34df9a66c817c3bd4aafd3a03d226b58dd5)
docs: Mention new config system is complete
([#&#8203;17068](https://github.com/eslint/eslint/issues/17068))
(Nicholas C. Zakas)
-
[`0fd6bb2`](https://github.com/eslint/eslint/commit/0fd6bb213ad2de77543c936eda21501653182e52)
docs: Update README (GitHub Actions Bot)
-
[`c83531c`](https://github.com/eslint/eslint/commit/c83531c1a6026675f36aa9e33fef14458043974a)
docs: Update/remove external links, eg. point to `eslint-community`
([#&#8203;17061](https://github.com/eslint/eslint/issues/17061))
(Pelle Wessman)
-
[`a3aa6f5`](https://github.com/eslint/eslint/commit/a3aa6f5f146534ed7999ebf8930c524a4871ec0b)
docs: Clarify `no-div-regex` rule docs
([#&#8203;17051](https://github.com/eslint/eslint/issues/17051))
(Francesco Trotta)
-
[`b0f11cf`](https://github.com/eslint/eslint/commit/b0f11cf977a4180bf7c3042e7faeaaa067ffafd0)
docs: Update README (GitHub Actions Bot)
-
[`da8d52a`](https://github.com/eslint/eslint/commit/da8d52a9d4edd9b2016cd4a15cd78f1ddadf20c7)
docs: Update the second object instance for the "no-new" rule
([#&#8203;17020](https://github.com/eslint/eslint/issues/17020))
(Ahmadou Waly NDIAYE)
-
[`518130a`](https://github.com/eslint/eslint/commit/518130ae79a16d7bf4d752c211ae88152cc5a6f0)
docs: switch language based on current path
([#&#8203;16687](https://github.com/eslint/eslint/issues/16687))
(Percy Ma)
-
[`24206c4`](https://github.com/eslint/eslint/commit/24206c49a138d4390f815ae122ee12f564bc604b)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`59ed060`](https://github.com/eslint/eslint/commit/59ed06041d4670781956221086ea0fca6683788d)
chore: upgrade
[@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).38.0
([#&#8203;17069](https://github.com/eslint/eslint/issues/17069))
(Milos Djermanovic)
-
[`88c0898`](https://github.com/eslint/eslint/commit/88c08984ec259ac22d839397c06beec8ef213120)
chore: package.json update for
[@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint
Jenkins)
-
[`cf682d2`](https://github.com/eslint/eslint/commit/cf682d249f04a6a304407d5b9ddbbc4a9714dd62)
refactor: simplify new-parens rule schema
([#&#8203;17060](https://github.com/eslint/eslint/issues/17060)) (MHO)
-
[`0dde022`](https://github.com/eslint/eslint/commit/0dde02211268394bcbc2b0beef55ea2409b6f55d)
ci: bump actions/add-to-project from 0.4.1 to 0.5.0
([#&#8203;17055](https://github.com/eslint/eslint/issues/17055))
(dependabot\[bot])

### [`v8.37.0`](https://github.com/eslint/eslint/releases/tag/v8.37.0)

[Compare
Source](https://github.com/eslint/eslint/compare/v8.36.0...v8.37.0)

#### Features

-
[`b6ab8b2`](https://github.com/eslint/eslint/commit/b6ab8b2a2ca8807baca121407f5bfb0a0a839427)
feat: `require-unicode-regexp` add suggestions
([#&#8203;17007](https://github.com/eslint/eslint/issues/17007)) (Josh
Goldberg)
-
[`10022b1`](https://github.com/eslint/eslint/commit/10022b1f4bda1ad89193512ecf18c2ee61db8202)
feat: Copy getScope() to SourceCode
([#&#8203;17004](https://github.com/eslint/eslint/issues/17004))
(Nicholas C. Zakas)
-
[`1665c02`](https://github.com/eslint/eslint/commit/1665c029acb92bf8812267f1647ad1a7054cbcb4)
feat: Use plugin metadata for flat config serialization
([#&#8203;16992](https://github.com/eslint/eslint/issues/16992))
(Nicholas C. Zakas)
-
[`b3634f6`](https://github.com/eslint/eslint/commit/b3634f695ddab6a82c0a9b1d8695e62b60d23366)
feat: docs license
([#&#8203;17010](https://github.com/eslint/eslint/issues/17010))
(Samuel Roldan)
-
[`892e6e5`](https://github.com/eslint/eslint/commit/892e6e58c5a07a549d3104de3b6b5879797dc97f)
feat: languageOptions.parser must be an object.
([#&#8203;16985](https://github.com/eslint/eslint/issues/16985))
(Nicholas C. Zakas)

#### Bug Fixes

-
[`619f3fd`](https://github.com/eslint/eslint/commit/619f3fd17324c7b71bf17e02047d0c6dc7e5109e)
fix: correctly handle `null` default config in `RuleTester`
([#&#8203;17023](https://github.com/eslint/eslint/issues/17023)) (Brad
Zacher)
-
[`1fbf118`](https://github.com/eslint/eslint/commit/1fbf1184fed57df02640aad4659afb54dc26a2e9)
fix: `getFirstToken`/`getLastToken` on comment-only node
([#&#8203;16889](https://github.com/eslint/eslint/issues/16889))
(Francesco Trotta)
-
[`129e252`](https://github.com/eslint/eslint/commit/129e252132c7c476d7de17f40b54a333ddb2e6bb)
fix: Fix typo in `logical-assignment-operators` rule description
([#&#8203;17000](https://github.com/eslint/eslint/issues/17000))
(Francesco Trotta)

#### Documentation

-
[`75339df`](https://github.com/eslint/eslint/commit/75339df99418df4d7e05a77e42ed7e22eabcc9e0)
docs: fix typos and missing info in id-match docs
([#&#8203;17029](https://github.com/eslint/eslint/issues/17029)) (Ed
Lucas)
-
[`ec2d830`](https://github.com/eslint/eslint/commit/ec2d8307850dd039e118c001416606e1e0342bc8)
docs: Fix typos in the `semi` rule docs
([#&#8203;17012](https://github.com/eslint/eslint/issues/17012))
(Andrii Lundiak)
-
[`e39f28d`](https://github.com/eslint/eslint/commit/e39f28d8578a00f4da8d4ddad559547950128a0d)
docs: add back to top button
([#&#8203;16979](https://github.com/eslint/eslint/issues/16979))
(Tanuj Kanti)
-
[`721c717`](https://github.com/eslint/eslint/commit/721c71782a7c11025689a1500e7690fb3794fcce)
docs: Custom Processors cleanup and expansion
([#&#8203;16838](https://github.com/eslint/eslint/issues/16838)) (Ben
Perlmutter)
-
[`d049f97`](https://github.com/eslint/eslint/commit/d049f974103e530ef76ede25af701635caf1f405)
docs: 'How ESLint is Maintained' page
([#&#8203;16961](https://github.com/eslint/eslint/issues/16961)) (Ben
Perlmutter)
-
[`5251a92`](https://github.com/eslint/eslint/commit/5251a921866e8d3b380dfe8db8a6e6ab97773d5e)
docs: Describe guard options for guard-for-in
([#&#8203;16986](https://github.com/eslint/eslint/issues/16986))
(alope107)
-
[`6157d81`](https://github.com/eslint/eslint/commit/6157d813e19b80481a46f8cbdf9eae18a55e5619)
docs: Add example to guard-for-in docs.
([#&#8203;16983](https://github.com/eslint/eslint/issues/16983))
(alope107)
-
[`fd47998`](https://github.com/eslint/eslint/commit/fd47998af6efadcdf5ba93e0bd1f4c02d97d22b3)
docs: update `Array.prototype.toSorted` specification link
([#&#8203;16982](https://github.com/eslint/eslint/issues/16982))
(Milos Djermanovic)
-
[`3e1cf6b`](https://github.com/eslint/eslint/commit/3e1cf6bfc5ebc29314ddbe462d6cb580e9ab085c)
docs: Copy edits on Maintain ESLint docs
([#&#8203;16939](https://github.com/eslint/eslint/issues/16939)) (Ben
Perlmutter)

#### Chores

-
[`c67f299`](https://github.com/eslint/eslint/commit/c67f2992a743de4765bb6f11c12622e3651324b9)
chore: upgrade
[@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).37.0
([#&#8203;17033](https://github.com/eslint/eslint/issues/17033))
(Milos Djermanovic)
-
[`ee9ddbd`](https://github.com/eslint/eslint/commit/ee9ddbd63e262aed0052853760866c7a054af561)
chore: package.json update for
[@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint
Jenkins)
-
[`dddb475`](https://github.com/eslint/eslint/commit/dddb47528816cd7e2e737bfde108ed4d62e6a219)
chore: upgrade
[@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc)[@&#8203;2](https://github.com/2).0.2
([#&#8203;17032](https://github.com/eslint/eslint/issues/17032))
(Milos Djermanovic)
-
[`522431e`](https://github.com/eslint/eslint/commit/522431e5206bac2fcb41c0d6dc98a84929203bee)
chore: upgrade espree@9.5.1
([#&#8203;17031](https://github.com/eslint/eslint/issues/17031))
(Milos Djermanovic)
-
[`f5f9a88`](https://github.com/eslint/eslint/commit/f5f9a88c79b32222c0331a9bac1c02571d953b69)
chore: upgrade eslint-visitor-keys@3.4.0
([#&#8203;17030](https://github.com/eslint/eslint/issues/17030))
(Milos Djermanovic)
-
[`4dd8d52`](https://github.com/eslint/eslint/commit/4dd8d524e0fc9e8e2019df13f8b968021600e85c)
ci: bump actions/stale from 7 to 8
([#&#8203;17026](https://github.com/eslint/eslint/issues/17026))
(dependabot\[bot])
-
[`ad9dd6a`](https://github.com/eslint/eslint/commit/ad9dd6a933fd098a0d99c6a9aa059850535c23ee)
chore: remove duplicate scss,
([#&#8203;17005](https://github.com/eslint/eslint/issues/17005))
(Strek)
-
[`ada6a3e`](https://github.com/eslint/eslint/commit/ada6a3e6e3607523958f35e1260537630ec0e976)
ci: unpin Node 19
([#&#8203;16993](https://github.com/eslint/eslint/issues/16993))
(Milos Djermanovic)
-
[`c3da975`](https://github.com/eslint/eslint/commit/c3da975e69fde46f35338ce48528841a8dc1ffd2)
chore: Remove triage label from template
([#&#8203;16990](https://github.com/eslint/eslint/issues/16990))
(Nicholas C. Zakas)
-
[`69bc0e2`](https://github.com/eslint/eslint/commit/69bc0e2f4412998f9384600a100d7882ea4dd3f3)
ci: pin Node 19 to 19.7.0
([#&#8203;16987](https://github.com/eslint/eslint/issues/16987))
(Milos Djermanovic)

### [`v8.36.0`](https://github.com/eslint/eslint/releases/tag/v8.36.0)

[Compare
Source](https://github.com/eslint/eslint/compare/v8.35.0...v8.36.0)

#### Features

-
[`c89a485`](https://github.com/eslint/eslint/commit/c89a485c49450532ee3db74f2638429f1f37d0dd)
feat: Add `checkJSDoc` option to multiline-comment-style
([#&#8203;16807](https://github.com/eslint/eslint/issues/16807))
(Laurent Cozic)
-
[`f5f5e11`](https://github.com/eslint/eslint/commit/f5f5e11bd5fd3daab9ccae41e270739c836c305e)
feat: Serialize parsers/processors in flat config
([#&#8203;16944](https://github.com/eslint/eslint/issues/16944))
(Nicholas C. Zakas)
-
[`4799297`](https://github.com/eslint/eslint/commit/4799297ea582c81fd1e5623d32a7ddf7a7f3a126)
feat: use
[@&#8203;eslint-community](https://github.com/eslint-community)
dependencies
([#&#8203;16784](https://github.com/eslint/eslint/issues/16784))
(Michaël De Boey)

#### Bug Fixes

-
[`92c1943`](https://github.com/eslint/eslint/commit/92c1943ba73ea01e87086236e8736539b0eed558)
fix: correctly iterate files matched by glob patterns
([#&#8203;16831](https://github.com/eslint/eslint/issues/16831))
(Nitin Kumar)

#### Documentation

-
[`b98fdd4`](https://github.com/eslint/eslint/commit/b98fdd413a3b07b262bfce6f704c1c1bb8582770)
docs: Update README (GitHub Actions Bot)
-
[`caf08ce`](https://github.com/eslint/eslint/commit/caf08ce0cc74917f7c0eec92d25fd784dc33ac4d)
docs: fix estree link in custom formatters docs
([#&#8203;16967](https://github.com/eslint/eslint/issues/16967))
(Milos Djermanovic)
-
[`3398431`](https://github.com/eslint/eslint/commit/3398431574b903757bc78b08c8ed36b7b9fce8eb)
docs: Custom Parsers cleanup/expansion
([#&#8203;16887](https://github.com/eslint/eslint/issues/16887)) (Ben
Perlmutter)
-
[`19d3531`](https://github.com/eslint/eslint/commit/19d3531d9b54e1004318d28f9a6e18305c5bcc18)
docs: Update README (GitHub Actions Bot)
-
[`b09a512`](https://github.com/eslint/eslint/commit/b09a512107249a4eb19ef5a37b0bd672266eafdb)
docs: detect and fix broken links
([#&#8203;16837](https://github.com/eslint/eslint/issues/16837))
(Nitin Kumar)

#### Chores

-
[`602b111`](https://github.com/eslint/eslint/commit/602b11121910a97ab2bc4a95a46dd0ccd0a89309)
chore: upgrade
[@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).36.0
([#&#8203;16978](https://github.com/eslint/eslint/issues/16978))
(Milos Djermanovic)
-
[`43c2345`](https://github.com/eslint/eslint/commit/43c2345c27024aeab6127e6bbfd55c8b70bd317e)
chore: package.json update for
[@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint
Jenkins)
-
[`00afb84`](https://github.com/eslint/eslint/commit/00afb84e5039874c8745a45c953fceaf0c71c454)
chore: upgrade
[@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc)[@&#8203;2](https://github.com/2).0.1
([#&#8203;16977](https://github.com/eslint/eslint/issues/16977))
(Milos Djermanovic)
-
[`698c5aa`](https://github.com/eslint/eslint/commit/698c5aad50e628ff00281dbc786e42de79834035)
chore: upgrade espree@9.5.0
([#&#8203;16976](https://github.com/eslint/eslint/issues/16976))
(Milos Djermanovic)
-
[`75acdd2`](https://github.com/eslint/eslint/commit/75acdd21c5ce7024252e9d41ed77d2f30587caac)
chore: lint more js files in docs
([#&#8203;16964](https://github.com/eslint/eslint/issues/16964))
(Milos Djermanovic)
-
[`89d9844`](https://github.com/eslint/eslint/commit/89d9844b3151f09b5b21b6eeeda671009ec301e9)
ci: bump actions/add-to-project from 0.4.0 to 0.4.1
([#&#8203;16943](https://github.com/eslint/eslint/issues/16943))
(dependabot\[bot])

</details>

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

###
[`v2.8.8`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;288)

[Compare
Source](https://github.com/prettier/prettier/compare/2.8.7...2.8.8)

This version is a republished version of v2.8.7.
A bad version was accidentally published and [it can't be
unpublished](https://github.com/npm/cli/issues/1686), apologies for
the churn.

###
[`v2.8.7`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;287)

[Compare
Source](https://github.com/prettier/prettier/compare/2.8.6...2.8.7)

[diff](https://github.com/prettier/prettier/compare/2.8.6...2.8.7)

##### Allow multiple decorators on same getter/setter
([#&#8203;14584](https://github.com/prettier/prettier/pull/14584) by
[@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```ts
// Input
class A {
  @&#8203;decorator()
  get foo () {}
  
  @&#8203;decorator()
  set foo (value) {}
}

// Prettier 2.8.6
SyntaxError: Decorators cannot be applied to multiple get/set accessors of the same name. (5:3)
  3 |   get foo () {}
  4 |   
> 5 |   @&#8203;decorator()
    |   ^^^^^^^^^^^^
  6 |   set foo (value) {}
  7 | }

// Prettier 2.8.7
class A {
  @&#8203;decorator()
  get foo() {}

  @&#8203;decorator()
  set foo(value) {}
}
```

###
[`v2.8.6`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;286)

[Compare
Source](https://github.com/prettier/prettier/compare/2.8.5...2.8.6)

[diff](https://github.com/prettier/prettier/compare/2.8.5...2.8.6)

##### Allow decorators on private members and class expressions
([#&#8203;14548](https://github.com/prettier/prettier/pull/14548) by
[@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```ts
// Input
class A {
  @&#8203;decorator()
  #privateMethod () {}
}

// Prettier 2.8.5
SyntaxError: Decorators are not valid here. (2:3)
  1 | class A {
> 2 |   @&#8203;decorator()
    |   ^^^^^^^^^^^^
  3 |   #privateMethod () {}
  4 | }

// Prettier 2.8.6
class A {
  @&#8203;decorator()
  #privateMethod() {}
}
```

###
[`v2.8.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;285)

[Compare
Source](https://github.com/prettier/prettier/compare/2.8.4...2.8.5)

[diff](https://github.com/prettier/prettier/compare/2.8.4...2.8.5)

##### Support TypeScript 5.0
([#&#8203;14391](https://github.com/prettier/prettier/pull/14391) by
[@&#8203;fisker](https://github.com/fisker),
[#&#8203;13819](https://github.com/prettier/prettier/pull/13819) by
[@&#8203;fisker](https://github.com/fisker),
[@&#8203;sosukesuzuki](https://github.com/sosukesuzuki))

TypeScript 5.0 introduces two new syntactic features:

-   `const` modifiers for type parameters
-   `export type *` declarations

##### Add missing parentheses for decorator
([#&#8203;14393](https://github.com/prettier/prettier/pull/14393) by
[@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
class Person {
  @&#8203;(myDecoratorArray[0])
  greet() {}
}

// Prettier 2.8.4
class Person {
  @&#8203;myDecoratorArray[0]
  greet() {}
}

// Prettier 2.8.5
class Person {
  @&#8203;(myDecoratorArray[0])
  greet() {}
}
```

##### Add parentheses for `TypeofTypeAnnotation` to improve readability
([#&#8203;14458](https://github.com/prettier/prettier/pull/14458) by
[@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```tsx
// Input
type A = (typeof node.children)[];

// Prettier 2.8.4
type A = typeof node.children[];

// Prettier 2.8.5
type A = (typeof node.children)[];
```

##### Support `max_line_length=off` when parsing `.editorconfig`
([#&#8203;14516](https://github.com/prettier/prettier/pull/14516) by
[@&#8203;josephfrazier](https://github.com/josephfrazier))

If an .editorconfig file is in your project and it sets
`max_line_length=off` for the file you're formatting,
it will be interpreted as a `printWidth` of `Infinity` rather than being
ignored
(which previously resulted in the default `printWidth` of 80 being
applied, if not overridden by Prettier-specific configuration).

<!-- prettier-ignore -->

```html
<!-- Input -->
<div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}/>

<!-- Prettier 2.8.4 -->
<div
  className="HelloWorld"
  title={`You are visitor number ${num}`}
  onMouseOver={onMouseOver}
/>;

<!-- Prettier 2.8.5 -->
<div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver} />;
```

</details>

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

###
[`v5.0.4`](https://github.com/microsoft/TypeScript/releases/tag/v5.0.4):
TypeScript 5.0.4

[Compare
Source](https://github.com/Microsoft/TypeScript/compare/v5.0.3...v5.0.4)

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

For the complete list of fixed issues, check out the

- [fixed issues query for Typescript v5.0.0
(Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.0%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.1
(RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.1%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.2
(Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.2%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.3
(Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.3%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.4
(Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.4%22+is%3Aclosed+).

Downloads are available on:

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

###
[`v5.0.3`](https://github.com/microsoft/TypeScript/releases/tag/v5.0.3):
TypeScript 5.0.3

[Compare
Source](https://github.com/Microsoft/TypeScript/compare/v5.0.2...v5.0.3)

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

For the complete list of fixed issues, check out the

- [fixed issues query for Typescript v5.0.0
(Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.0%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.1
(RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.1%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.2
(Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.2%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.3
(Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.3%22+is%3Aclosed+).

Downloads are available on:

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

</details>

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module '@&#8203;vitest/expect' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.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/christianemmert/ts-starter).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in JoshuaKGoldberg/ts-api-utils May 6, 2023
…209)

[![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/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme)
([source](https://github.com/vitest-dev/vitest)) | [`^0.30.0` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/0.30.1/0.31.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.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/JoshuaKGoldberg/ts-api-utils).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in JoshuaKGoldberg/create-typescript-app May 6, 2023
…408)

[![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/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme)
([source](https://github.com/vitest-dev/vitest)) | [`^0.30.0` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/0.30.1/0.31.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.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/JoshuaKGoldberg/template-typescript-node-package).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in JoshuaKGoldberg/create-typescript-app May 7, 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://github.com/vitest-dev/vitest) | [`^0.30.0` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.30.0/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.30.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.30.0)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.0...v0.30.1)

#####    🐞 Bug Fixes

- Do not rely on global `performance` and `AggregateError`  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3171](https://github.com/vitest-dev/vitest/issues/3171)
[<samp>(cce45)</samp>](https://github.com/vitest-dev/vitest/commit/cce45496)
- Allow workspace without a config in the root  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3173](https://github.com/vitest-dev/vitest/issues/3173)
[<samp>(06852)</samp>](https://github.com/vitest-dev/vitest/commit/06852f18)
- `test.each` respects `chaiConfig`  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(4f6c1)</samp>](https://github.com/vitest-dev/vitest/commit/4f6c1340)
- Use relative paths in source map's "sources" field  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3177](https://github.com/vitest-dev/vitest/issues/3177)
[<samp>(6b1b4)</samp>](https://github.com/vitest-dev/vitest/commit/6b1b4e68)
-   **types**:
- Allow augmenting jest namespace for custom assertions  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3169](https://github.com/vitest-dev/vitest/issues/3169)
[<samp>(905ec)</samp>](https://github.com/vitest-dev/vitest/commit/905ec05a)
- Publish utils and snapshot .d.ts files for typescript  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3172](https://github.com/vitest-dev/vitest/issues/3172)
[<samp>(7af64)</samp>](https://github.com/vitest-dev/vitest/commit/7af64444)
-   **snapshot**:
- `toMatchFileSnapshot` ensure dir exists  -  by
[@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3155](https://github.com/vitest-dev/vitest/issues/3155)
[<samp>(31168)</samp>](https://github.com/vitest-dev/vitest/commit/311682a8)
- Improve `skipWriting` check  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(5436c)</samp>](https://github.com/vitest-dev/vitest/commit/5436c736)
- Normalize EOL for `toMatchFileSnapshot`  -  by
[@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3164](https://github.com/vitest-dev/vitest/issues/3164)
[<samp>(df3f2)</samp>](https://github.com/vitest-dev/vitest/commit/df3f2b50)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.0...v0.30.1)

</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/JoshuaKGoldberg/template-typescript-node-package).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in JoshuaKGoldberg/ts-api-utils May 7, 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://github.com/vitest-dev/vitest) | [`^0.30.0` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.30.1/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.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/JoshuaKGoldberg/ts-api-utils).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
killbasa referenced this issue in KBot-discord/utilities May 8, 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 | Type |
Update |
|---|---|---|---|---|---|---|---|
|
[@sapphire/discord.js-utilities](https://github.com/sapphiredev/utilities/tree/main/packages/discord.js-utilities)
([source](https://github.com/sapphiredev/utilities)) | [`6.0.5` ->
`6.1.0`](https://renovatebot.com/diffs/npm/@sapphire%2fdiscord.js-utilities/6.0.5/6.1.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@sapphire%2fdiscord.js-utilities/6.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@sapphire%2fdiscord.js-utilities/6.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@sapphire%2fdiscord.js-utilities/6.1.0/compatibility-slim/6.0.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@sapphire%2fdiscord.js-utilities/6.1.0/confidence-slim/6.0.5)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
|
[@sapphire/eslint-config](https://github.com/sapphiredev/utilities/tree/main/packages/eslint-config)
([source](https://github.com/sapphiredev/utilities)) | [`4.4.1` ->
`4.4.2`](https://renovatebot.com/diffs/npm/@sapphire%2feslint-config/4.4.1/4.4.2)
|
[![age](https://badges.renovateapi.com/packages/npm/@sapphire%2feslint-config/4.4.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@sapphire%2feslint-config/4.4.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@sapphire%2feslint-config/4.4.2/compatibility-slim/4.4.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@sapphire%2feslint-config/4.4.2/confidence-slim/4.4.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [@sapphire/framework](https://www.sapphirejs.dev)
([source](https://github.com/sapphiredev/framework)) | [`4.4.0` ->
`4.4.3`](https://renovatebot.com/diffs/npm/@sapphire%2fframework/4.4.0/4.4.3)
|
[![age](https://badges.renovateapi.com/packages/npm/@sapphire%2fframework/4.4.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@sapphire%2fframework/4.4.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@sapphire%2fframework/4.4.3/compatibility-slim/4.4.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@sapphire%2fframework/4.4.3/confidence-slim/4.4.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.15.11` ->
`18.16.5`](https://renovatebot.com/diffs/npm/@types%2fnode/18.15.11/18.16.5)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.5/compatibility-slim/18.15.11)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.16.5/confidence-slim/18.15.11)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint)
| [`5.58.0` ->
`5.59.2`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.58.0/5.59.2)
|
[![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.59.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.59.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.59.2/compatibility-slim/5.58.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.59.2/confidence-slim/5.58.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint)
| [`5.58.0` ->
`5.59.2`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.58.0/5.59.2)
|
[![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.59.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.59.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.59.2/compatibility-slim/5.58.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.59.2/confidence-slim/5.58.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@vitest/coverage-c8](https://github.com/vitest-dev/vitest/tree/main/packages/coverage-c8#readme)
([source](https://github.com/vitest-dev/vitest)) | [`^0.30.1` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-c8/0.30.1/0.31.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [discord-api-types](https://discord-api-types.dev)
([source](https://github.com/discordjs/discord-api-types)) |
[`0.37.38` ->
`0.37.41`](https://renovatebot.com/diffs/npm/discord-api-types/0.37.38/0.37.41)
|
[![age](https://badges.renovateapi.com/packages/npm/discord-api-types/0.37.41/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/discord-api-types/0.37.41/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/discord-api-types/0.37.41/compatibility-slim/0.37.38)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/discord-api-types/0.37.41/confidence-slim/0.37.38)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [discord.js](https://discord.js.org)
([source](https://github.com/discordjs/discord.js)) | [`14.9.0` ->
`14.11.0`](https://renovatebot.com/diffs/npm/discord.js/14.9.0/14.11.0)
|
[![age](https://badges.renovateapi.com/packages/npm/discord.js/14.11.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/discord.js/14.11.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/discord.js/14.11.0/compatibility-slim/14.9.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/discord.js/14.11.0/confidence-slim/14.9.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [eslint](https://eslint.org)
([source](https://github.com/eslint/eslint)) | [`8.38.0` ->
`8.40.0`](https://renovatebot.com/diffs/npm/eslint/8.38.0/8.40.0) |
[![age](https://badges.renovateapi.com/packages/npm/eslint/8.40.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.40.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/eslint/8.40.0/compatibility-slim/8.38.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.40.0/confidence-slim/8.38.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [lint-staged](https://github.com/okonet/lint-staged) | [`13.2.1` ->
`13.2.2`](https://renovatebot.com/diffs/npm/lint-staged/13.2.1/13.2.2) |
[![age](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.2/compatibility-slim/13.2.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.2/confidence-slim/13.2.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [prettier](https://prettier.io)
([source](https://github.com/prettier/prettier)) | [`2.8.7` ->
`2.8.8`](https://renovatebot.com/diffs/npm/prettier/2.8.7/2.8.8) |
[![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.8/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.8/compatibility-slim/2.8.7)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.8/confidence-slim/2.8.7)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [thedoctor0/zip-release](https://github.com/thedoctor0/zip-release)
| `0.6.2` -> `0.7.1` |
[![age](https://badges.renovateapi.com/packages/github-tags/thedoctor0%2fzip-release/0.7.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/thedoctor0%2fzip-release/0.7.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/thedoctor0%2fzip-release/0.7.1/compatibility-slim/0.6.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/thedoctor0%2fzip-release/0.7.1/confidence-slim/0.6.2)](https://docs.renovatebot.com/merge-confidence/)
| action | minor |
| [turbo](https://turbo.build/repo)
([source](https://github.com/vercel/turbo)) | [`1.9.1` ->
`1.9.3`](https://renovatebot.com/diffs/npm/turbo/1.9.1/1.9.3) |
[![age](https://badges.renovateapi.com/packages/npm/turbo/1.9.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/turbo/1.9.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/turbo/1.9.3/compatibility-slim/1.9.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/turbo/1.9.3/confidence-slim/1.9.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [typedoc](https://typedoc.org)
([source](https://github.com/TypeStrong/TypeDoc)) | [`0.24.4` ->
`0.24.7`](https://renovatebot.com/diffs/npm/typedoc/0.24.4/0.24.7) |
[![age](https://badges.renovateapi.com/packages/npm/typedoc/0.24.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typedoc/0.24.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typedoc/0.24.7/compatibility-slim/0.24.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typedoc/0.24.7/confidence-slim/0.24.4)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [vitest](https://github.com/vitest-dev/vitest) | [`^0.30.1` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.30.1/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [yarn](https://github.com/yarnpkg/berry) | [`3.3.1` ->
`3.5.1`](https://renovatebot.com/diffs/npm/yarn/3.3.1/3.5.1) |
[![age](https://badges.renovateapi.com/packages/npm/yarn/3.5.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/yarn/3.5.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/yarn/3.5.1/compatibility-slim/3.3.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/yarn/3.5.1/confidence-slim/3.3.1)](https://docs.renovatebot.com/merge-confidence/)
| packageManager | minor |

---

### Release Notes

<details>
<summary>sapphiredev/utilities
(@&#8203;sapphire/discord.js-utilities)</summary>

###
[`v6.1.0`](https://github.com/sapphiredev/utilities/blob/HEAD/packages/discord.js-utilities/CHANGELOG.md#sapphirediscordjs-utilities610-httpsgithubcomsapphiredevutilitiescomparesapphirediscordjs-utilities607sapphirediscordjs-utilities610---2023-05-05)

[Compare
Source](https://github.com/sapphiredev/utilities/compare/@sapphire/discord.js-utilities@6.0.7...@sapphire/discord.js-utilities@6.1.0)

#### 🚀 Features

- **PaginatedMessage:** Add support for all select menus
([#&#8203;589](https://github.com/sapphiredev/utilities/issues/589))
([4858486](https://github.com/sapphiredev/utilities/commit/4858486714192e8d37cf69f2aeda3002c1bfb9aa))
- **PaginatedMessage:** Add support for per-page actions
([#&#8203;587](https://github.com/sapphiredev/utilities/issues/587))
([b917236](https://github.com/sapphiredev/utilities/commit/b9172364bc46a0adef2708ff79ad756bc78f6b1d))
- **PaginatedMessage:** Add method to update pages after response
([#&#8203;584](https://github.com/sapphiredev/utilities/issues/584))
([db13068](https://github.com/sapphiredev/utilities/commit/db130684ff3c1680f736451361eec80686a783e0))

###
[`v6.0.7`](https://github.com/sapphiredev/utilities/blob/HEAD/packages/discord.js-utilities/CHANGELOG.md#sapphirediscordjs-utilities607-httpsgithubcomsapphiredevutilitiescomparesapphirediscordjs-utilities606sapphirediscordjs-utilities607---2023-05-02)

[Compare
Source](https://github.com/sapphiredev/utilities/compare/@sapphire/discord.js-utilities@6.0.6...@sapphire/discord.js-utilities@6.0.7)

#### 🐛 Bug Fixes

- **PaginatedMessage:** Only add options and placeholder to the built-in
StringSelectMenu
([#&#8203;575](https://github.com/sapphiredev/utilities/issues/575))
([49d588b](https://github.com/sapphiredev/utilities/commit/49d588b007754bfae7ffa59be6ec0d1c266447f4))
- **paginatedmessage:** Fix checks for `actionIsButtonOrMenu`
([3f5d500](https://github.com/sapphiredev/utilities/commit/3f5d5000701c34328038c8a3e3dede021932a27b))

#### 📝 Documentation

- **paginatedmessage:** Fix examples
([c080740](https://github.com/sapphiredev/utilities/commit/c080740a6eeb151263827836d76463430624d62a))

###
[`v6.0.6`](https://github.com/sapphiredev/utilities/blob/HEAD/packages/discord.js-utilities/CHANGELOG.md#sapphirediscordjs-utilities606-httpsgithubcomsapphiredevutilitiescomparesapphirediscordjs-utilities605sapphirediscordjs-utilities606---2023-04-17)

[Compare
Source](https://github.com/sapphiredev/utilities/compare/@sapphire/discord.js-utilities@6.0.5...@sapphire/discord.js-utilities@6.0.6)

#### 🐛 Bug Fixes

- **discord.js-utilities:** Add tslib dependency to fix \__exportStar
not being defined
([2f6e4e6](https://github.com/sapphiredev/utilities/commit/2f6e4e65907bfe768a97b37830a10d5cadd75a1e))

</details>

<details>
<summary>sapphiredev/utilities
(@&#8203;sapphire/eslint-config)</summary>

###
[`v4.4.2`](https://github.com/sapphiredev/utilities/blob/HEAD/packages/eslint-config/CHANGELOG.md#sapphireeslint-config442-httpsgithubcomsapphiredevutilitiescomparesapphireeslint-config441sapphireeslint-config442---2023-05-02)

[Compare
Source](https://github.com/sapphiredev/utilities/compare/@sapphire/eslint-config@4.4.1...@sapphire/eslint-config@4.4.2)

#### 🐛 Bug Fixes

- **eslint-config:** Update dependencies
([9e508a9](https://github.com/sapphiredev/utilities/commit/9e508a90ca39874af15e875fcccfc3817c679599))

</details>

<details>
<summary>sapphiredev/framework</summary>

###
[`v4.4.3`](https://github.com/sapphiredev/framework/blob/HEAD/CHANGELOG.md#&#8203;443-httpsgithubcomsapphiredevframeworkcomparev442v443---2023-05-02)

[Compare
Source](https://github.com/sapphiredev/framework/compare/v4.4.2...v4.4.3)

#### 🐛 Bug Fixes

- Update dependencies
([852302e](https://github.com/sapphiredev/framework/commit/852302e9ca6144430b8f8c611560af3b5664e15f))

###
[`v4.4.2`](https://github.com/sapphiredev/framework/blob/HEAD/CHANGELOG.md#&#8203;442-httpsgithubcomsapphiredevframeworkcomparev441v442---2023-04-27)

[Compare
Source](https://github.com/sapphiredev/framework/compare/v4.4.1...v4.4.2)

#### 🐛 Bug Fixes

- Add missing permission to account for discord-api-types@0.37.40
([8c5ce9d](https://github.com/sapphiredev/framework/commit/8c5ce9dfafbb7a0a329f6feb7d5e216f1df6cedf))
- **deps:** Update all non-major dependencies
([#&#8203;631](https://github.com/sapphiredev/framework/issues/631))
([d9115d2](https://github.com/sapphiredev/framework/commit/d9115d266e2782604e82f0b22537771055cb8bb5))

###
[`v4.4.1`](https://github.com/sapphiredev/framework/blob/HEAD/CHANGELOG.md#&#8203;441-httpsgithubcomsapphiredevframeworkcomparev440v441---2023-04-18)

[Compare
Source](https://github.com/sapphiredev/framework/compare/v4.4.0...v4.4.1)

#### 🐛 Bug Fixes

- **permissions:** Add missing permission strings
([#&#8203;630](https://github.com/sapphiredev/framework/issues/630))
([23645bb](https://github.com/sapphiredev/framework/commit/23645bbe527119ab6be3824d2435f2dbb5bf89db))
- **ArgType:** Update `type` for guild\*ThreadChannel
([#&#8203;628](https://github.com/sapphiredev/framework/issues/628))
([222d50e](https://github.com/sapphiredev/framework/commit/222d50e0459f7769bea660ae9ae5ce412b927cdb))

#### 📝 Documentation

- Add code of conduct to the repo
([f4a9897](https://github.com/sapphiredev/framework/commit/f4a9897142224b0f8c238667a2d1c1180b844435))

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v5.59.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5592-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5591v5592-2023-05-01)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.1...v5.59.2)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

###
[`v5.59.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5591-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5590v5591-2023-04-24)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.0...v5.59.1)

##### Bug Fixes

- **eslint-plugin:** \[prefer-regexp-exec] skip malformed regexes
([#&#8203;6935](https://github.com/typescript-eslint/typescript-eslint/issues/6935))
([05ed60e](https://github.com/typescript-eslint/typescript-eslint/commit/05ed60e25f1de9d1bb83d56c81a349130960bec8))
- **eslint-plugin:** \[unified-signatures] no parameters function
([#&#8203;6940](https://github.com/typescript-eslint/typescript-eslint/issues/6940))
([2970861](https://github.com/typescript-eslint/typescript-eslint/commit/297086154acc568a0ae8eb41c8977b7a7ba4e0ed))

###
[`v5.59.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5590-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5580v5590-2023-04-17)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.58.0...v5.59.0)

##### Bug Fixes

- **eslint-plugin:** \[no-unnecessary-condition] allow nullish
coalescing for naked type parameter
([#&#8203;6910](https://github.com/typescript-eslint/typescript-eslint/issues/6910))
([3e5f858](https://github.com/typescript-eslint/typescript-eslint/commit/3e5f8583f1e4fe045c2fe2143d6f280b7381f96b))

##### Features

- **eslint-plugin:** \[ban-types] add NonNullable suggestion and allow
custom suggestions
([#&#8203;6876](https://github.com/typescript-eslint/typescript-eslint/issues/6876))
([ff65235](https://github.com/typescript-eslint/typescript-eslint/commit/ff65235246bb6214fb64f0e0317373ca99f8bcbe))

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/parser)</summary>

###
[`v5.59.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5592-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5591v5592-2023-05-01)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.1...v5.59.2)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

###
[`v5.59.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5591-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5590v5591-2023-04-24)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.59.0...v5.59.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

###
[`v5.59.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5590-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5580v5590-2023-04-17)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.58.0...v5.59.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

</details>

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

</details>

<details>
<summary>discordjs/discord-api-types</summary>

###
[`v0.37.41`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03741-httpsgithubcomdiscordjsdiscord-api-typescompare0374003741-2023-05-01)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.40...0.37.41)

##### Bug Fixes

- **GatewayGuildMembersChunkDispatchData:** Omit `guild_id` for
presences
([#&#8203;761](https://github.com/discordjs/discord-api-types/issues/761))
([5079b16](https://github.com/discordjs/discord-api-types/commit/5079b164db3ac3bda25675a553a586f099555667))
- **types:** move `types` condition to the front
([#&#8203;763](https://github.com/discordjs/discord-api-types/issues/763))
([9dce6ed](https://github.com/discordjs/discord-api-types/commit/9dce6ed392b64e602c3cc05946bc0f30bac7279e))

###
[`v0.37.40`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03740-httpsgithubcomdiscordjsdiscord-api-typescompare0373903740-2023-04-24)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.39...0.37.40)

##### Features

- add support for voice messages
([#&#8203;749](https://github.com/discordjs/discord-api-types/issues/749))
([3dac5b9](https://github.com/discordjs/discord-api-types/commit/3dac5b93e7568ba2fbd3bc30d229d2df80f96eed))

###
[`v0.37.39`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03739-httpsgithubcomdiscordjsdiscord-api-typescompare0373803739-2023-04-17)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.38...0.37.39)

##### Bug Fixes

- **RESTPostAPIChannelMessagesThreadsJSONBody:** mark
`auto_archive_duration` as optional
([ca6a95d](https://github.com/discordjs/discord-api-types/commit/ca6a95d69c7b93f564f10cce422faf5ea4133be7))

##### Features

- **APIGuild:** add `max_stage_video_channel_users`
([#&#8203;550](https://github.com/discordjs/discord-api-types/issues/550))
([9a66d21](https://github.com/discordjs/discord-api-types/commit/9a66d21f4913c63ed7c192cf9340febe603bf516))

</details>

<details>
<summary>discordjs/discord.js</summary>

###
[`v14.11.0`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#&#8203;14110-httpsgithubcomdiscordjsdiscordjscompare1410214110---2023-05-06)

[Compare
Source](https://github.com/discordjs/discord.js/compare/14.10.2...14.11.0)

#### Bug Fixes

- **WebSocketManager:** Properly emit shard error events
([#&#8203;9521](https://github.com/discordjs/discord.js/issues/9521))
([e627468](https://github.com/discordjs/discord.js/commit/e6274681fd10b0d75e1d3b448c94b50ec6810367))
- **WebSocketManager:** Emit raw ws events again
([#&#8203;9502](https://github.com/discordjs/discord.js/issues/9502))
([c429763](https://github.com/discordjs/discord.js/commit/c429763be8e94f0f0cbc630e8bb1d415d46f1465))

#### Documentation

- **Client:** Update Sapphire's snowflake utility links
([#&#8203;9501](https://github.com/discordjs/discord.js/issues/9501))
([1b7981e](https://github.com/discordjs/discord.js/commit/1b7981e4696b8ae74ceffa876fc0a9be7d0b9f93))

#### Features

- **Guild:** Safety alerts channel and mention raid protection
([#&#8203;8959](https://github.com/discordjs/discord.js/issues/8959))
([6b2c3fb](https://github.com/discordjs/discord.js/commit/6b2c3fb9d0571de808e990cf064f73240ab93451))

#### Performance

- **Role:** Linear speed position getter
([#&#8203;9493](https://github.com/discordjs/discord.js/issues/9493))
([8e9a2b4](https://github.com/discordjs/discord.js/commit/8e9a2b4630f78bb9e45345ec2a16812bfac70a20))

#### Refactor

- **GuildChannel:** Simplify constructor
([#&#8203;9499](https://github.com/discordjs/discord.js/issues/9499))
([f2ad076](https://github.com/discordjs/discord.js/commit/f2ad0762c521422ab64e5b10344a6fd67961031b))

#### Typings

- **StringSelectMenuComponentData:** `options` is required
([#&#8203;9515](https://github.com/discordjs/discord.js/issues/9515))
([d7b18f0](https://github.com/discordjs/discord.js/commit/d7b18f0681d4147ff192c98108c035d6d0f96cce))

###
[`v14.10.2`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#&#8203;14102-httpsgithubcomdiscordjsdiscordjscompare1410114102---2023-05-01)

[Compare
Source](https://github.com/discordjs/discord.js/compare/14.10.1...14.10.2)

#### Bug Fixes

- Correct `isJSONEncodable()` import
([#&#8203;9495](https://github.com/discordjs/discord.js/issues/9495))
([201b002](https://github.com/discordjs/discord.js/commit/201b002ad405b845ace5f708077c1f157bb4126d))
- **Client:** `generateInvite()` scope validation
([#&#8203;9492](https://github.com/discordjs/discord.js/issues/9492))
([b327f49](https://github.com/discordjs/discord.js/commit/b327f4925ff557e0aa8273d7f017aa616226ca06))

###
[`v14.10.1`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#&#8203;14101-httpsgithubcomdiscordjsdiscordjscompare1410014101---2023-05-01)

[Compare
Source](https://github.com/discordjs/discord.js/compare/14.10.0...14.10.1)

#### Bug Fixes

- **Client:** Spelling of InvalidScopesWithPermissions
([ac9bf3a](https://github.com/discordjs/discord.js/commit/ac9bf3ac06ec78dbaca2ce4a82cceb0d82484211))

#### Refactor

- **ShardClientUtil:** Logic de-duplication
([#&#8203;9491](https://github.com/discordjs/discord.js/issues/9491))
([a9f2bff](https://github.com/discordjs/discord.js/commit/a9f2bff82a18c6a3afdee99e5830e1d7b4da65dc))

###
[`v14.10.0`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#&#8203;14100-httpsgithubcomdiscordjsdiscordjscompare149014100---2023-05-01)

[Compare
Source](https://github.com/discordjs/discord.js/compare/14.9.0...14.10.0)

#### Bug Fixes

- **ShardClientUtil:** Fix client event names
([#&#8203;9474](https://github.com/discordjs/discord.js/issues/9474))
([ad217cc](https://github.com/discordjs/discord.js/commit/ad217cc7604dda6a33df73db82799fd5bb4e85a9))
- **BaseClient:** Prevent user agent mutation
([#&#8203;9425](https://github.com/discordjs/discord.js/issues/9425))
([217e5d8](https://github.com/discordjs/discord.js/commit/217e5d81005a2506c96335f7fb96fa21d7dbb04c))
- **BitField:** Use only enum names in iterating
([#&#8203;9357](https://github.com/discordjs/discord.js/issues/9357))
([40d07fb](https://github.com/discordjs/discord.js/commit/40d07fbbbd51d62793d9ea541f41f157b5dad224))
- Use new permission name
([#&#8203;9274](https://github.com/discordjs/discord.js/issues/9274))
([d2d27ce](https://github.com/discordjs/discord.js/commit/d2d27ce7346bc37b34938c84bd3b106a4fa51f53))
- **Message#editable:** Fix permissions check in locked threads
([#&#8203;9319](https://github.com/discordjs/discord.js/issues/9319))
([d4c1fec](https://github.com/discordjs/discord.js/commit/d4c1fecbe264bc52a70aaf0ec303d35e2f15bbcd))
- Fix external links
([#&#8203;9313](https://github.com/discordjs/discord.js/issues/9313))
([a7425c2](https://github.com/discordjs/discord.js/commit/a7425c29c4f23f1b31f4c6a463107ca9eb7fd7e2))

#### Documentation

- **AutoModerationRule:** Update docs
([#&#8203;9464](https://github.com/discordjs/discord.js/issues/9464))
([1b15d31](https://github.com/discordjs/discord.js/commit/1b15d31b5ae1b1739716fab00b18083c1d7d389a))
- **APITypes:** Document role & user select menu components
([#&#8203;9435](https://github.com/discordjs/discord.js/issues/9435))
([c6ca5a8](https://github.com/discordjs/discord.js/commit/c6ca5a83e7b72613f95c2145606a1330f64ae894))
- **BaseMessageOptions:** Fix embeds and components
([#&#8203;9437](https://github.com/discordjs/discord.js/issues/9437))
([5c52bb9](https://github.com/discordjs/discord.js/commit/5c52bb95906250518a8813820d543f43dd7abdf9))
- **InteractionResponses:** ShowModal docs change
([#&#8203;9434](https://github.com/discordjs/discord.js/issues/9434))
([7d34100](https://github.com/discordjs/discord.js/commit/7d341000d44b762a2fe0434a6b518f7d63539d34))
- Use ESM code in examples
([#&#8203;9427](https://github.com/discordjs/discord.js/issues/9427))
([ce287f2](https://github.com/discordjs/discord.js/commit/ce287f21d1540da7f17cac8a57dc33a67f391ef3))
- Generate static imports for types with api-extractor
([98a76db](https://github.com/discordjs/discord.js/commit/98a76db482879f79d6bb2fb2e5fc65ac2c34e2d9))
- **Options:** Fix links and invalid syntax
([#&#8203;9322](https://github.com/discordjs/discord.js/issues/9322))
([86e5f5a](https://github.com/discordjs/discord.js/commit/86e5f5a119c6d2588b988a33236d358ded357847))
- Cleanup MessageCreateOptions and MessageReplyOptions
([#&#8203;9283](https://github.com/discordjs/discord.js/issues/9283))
([300059c](https://github.com/discordjs/discord.js/commit/300059cb266e6cca42c30ee7f997c48ab2cc565e))
- **Events:** Document auto moderation events
([#&#8203;9342](https://github.com/discordjs/discord.js/issues/9342))
([79bcdfa](https://github.com/discordjs/discord.js/commit/79bcdfa767e7e842164e1174b6f4834ed731d329))
- Add `SnowflakeUtil`
([#&#8203;9371](https://github.com/discordjs/discord.js/issues/9371))
([8ffcf77](https://github.com/discordjs/discord.js/commit/8ffcf77840b62590fcb4731380d28b22d0b98741))
- Use stable tag
([#&#8203;9343](https://github.com/discordjs/discord.js/issues/9343))
([c0f2dd7](https://github.com/discordjs/discord.js/commit/c0f2dd713151a29c98e1eebad66721a208be1fc0))
- Remove `JSONEncondable`
([#&#8203;9344](https://github.com/discordjs/discord.js/issues/9344))
([b2eec5f](https://github.com/discordjs/discord.js/commit/b2eec5f9fcf37ebb3b7f87a67a6ee3160c182183))

#### Features

- **Attachment:** Voice messages
([#&#8203;9392](https://github.com/discordjs/discord.js/issues/9392))
([3e01f91](https://github.com/discordjs/discord.js/commit/3e01f91bbba2cbacacc6c921ed664752f679960b))
- **BaseInteraction:** Support new channel payload
([#&#8203;9337](https://github.com/discordjs/discord.js/issues/9337))
([29389e3](https://github.com/discordjs/discord.js/commit/29389e39f479b832e54c7cb3ddd363aebe99674f))
- **RoleTagData:** Add guildConnections
([#&#8203;9366](https://github.com/discordjs/discord.js/issues/9366))
([2dddbe1](https://github.com/discordjs/discord.js/commit/2dddbe1f321f2e2722dba4a28f7d18384cf50353))

#### Performance

- **RoleManager:** Dont call Role#position getter twice per role
([#&#8203;9352](https://github.com/discordjs/discord.js/issues/9352))
([bfee6c8](https://github.com/discordjs/discord.js/commit/bfee6c8d889502ea39ad919dd9b1e6253a2af571))

#### Refactor

- **WebSocketManager:** Use /ws package internally
([#&#8203;9099](https://github.com/discordjs/discord.js/issues/9099))
([a9e0de4](https://github.com/discordjs/discord.js/commit/a9e0de4288ea39a6a089b8379dcd44ac0053dac7))
- Remove `fromInteraction` in internal channel creation
([#&#8203;9335](https://github.com/discordjs/discord.js/issues/9335))
([794abe8](https://github.com/discordjs/discord.js/commit/794abe8450bae000cd0544922cdf53e7b3e4c59c))

#### Typings

- **AutoModerationActionMetadataOptions:** Make channel property
optional
([#&#8203;9460](https://github.com/discordjs/discord.js/issues/9460))
([d26df5f](https://github.com/discordjs/discord.js/commit/d26df5fabaf227fb9d10ba5cc1ab326de55aadbc))
- **CategoryChannel:** Ensure `parent` and `parentId` are `null`
([#&#8203;9327](https://github.com/discordjs/discord.js/issues/9327))
([8218ffc](https://github.com/discordjs/discord.js/commit/8218ffc78d23234b32c05a97fde2f4bea64d7aa6))
- **GuildTextBasedChannel:** Remove unnecessary exclusion of forum
channels
([#&#8203;9326](https://github.com/discordjs/discord.js/issues/9326))
([7ff3d52](https://github.com/discordjs/discord.js/commit/7ff3d528d942a0daa990194915ff8328dec99149))

</details>

<details>
<summary>eslint/eslint</summary>

### [`v8.40.0`](https://github.com/eslint/eslint/releases/tag/v8.40.0)

[Compare
Source](https://github.com/eslint/eslint/compare/v8.39.0...v8.40.0)

#### Features

-
[`5db7808`](https://github.com/eslint/eslint/commit/5db7808139c1f2172797285a0700f01644bda254)
feat: improve flat config errors for invalid rule options and severities
([#&#8203;17140](https://github.com/eslint/eslint/issues/17140)) (Josh
Goldberg ✨)
-
[`f5574dc`](https://github.com/eslint/eslint/commit/f5574dc739fcc74a7841217ba1f31cce02bee1ff)
feat: Add findConfigFile() method to FlatESLint
([#&#8203;17142](https://github.com/eslint/eslint/issues/17142))
(Nicholas C. Zakas)
-
[`e52b98b`](https://github.com/eslint/eslint/commit/e52b98bf25d882da4efd5559ce5974b6697cf701)
feat: add `sourceCode` property to the rule context
([#&#8203;17107](https://github.com/eslint/eslint/issues/17107))
(Nitin Kumar)
-
[`1468f5b`](https://github.com/eslint/eslint/commit/1468f5b640cfa6fdd8a5ec895337f692def2780b)
feat: add `physicalFilename` property to the rule context
([#&#8203;17111](https://github.com/eslint/eslint/issues/17111))
(Nitin Kumar)
-
[`0df4d4f`](https://github.com/eslint/eslint/commit/0df4d4f658c214e51310a986c03d44d34ceae3ec)
feat: add `cwd` to rule context
([#&#8203;17106](https://github.com/eslint/eslint/issues/17106))
(Nitin Kumar)
-
[`52018f2`](https://github.com/eslint/eslint/commit/52018f21c19b3e461cae32843cddd17ed42f19cd)
feat: add `filename` property to the rule context
([#&#8203;17108](https://github.com/eslint/eslint/issues/17108))
(Nitin Kumar)
-
[`559ff4e`](https://github.com/eslint/eslint/commit/559ff4e4bc54a8b6e6b54825d83c532d724204b3)
feat: add new `omitLastInOneLineClassBody` option to the `semi` rule
([#&#8203;17105](https://github.com/eslint/eslint/issues/17105))
(Nitin Kumar)

#### Bug Fixes

-
[`f076e54`](https://github.com/eslint/eslint/commit/f076e54ecdb0fae70d9b43ad6888606097beef97)
fix: Ensure FlatESLint#findConfigFile() doesn't throw.
([#&#8203;17151](https://github.com/eslint/eslint/issues/17151))
(Nicholas C. Zakas)

#### Documentation

-
[`e980bf3`](https://github.com/eslint/eslint/commit/e980bf38cf441f2eb29c458b93df77dc0111b391)
docs: Update README (GitHub Actions Bot)
-
[`e92a6fc`](https://github.com/eslint/eslint/commit/e92a6fc7ed2a427f5e95f4b3a1c21d71553c97ee)
docs: Update README (GitHub Actions Bot)
-
[`af5fe64`](https://github.com/eslint/eslint/commit/af5fe64c398c9bd4206c3c6c1ade81768b291031)
docs: Fix custom rule schema docs
([#&#8203;17115](https://github.com/eslint/eslint/issues/17115)) (Adam
Jones)
-
[`4a352a9`](https://github.com/eslint/eslint/commit/4a352a957ba9e721bec9f6f403b419a22b0ec423)
docs: explain how to include predefined globals
([#&#8203;17114](https://github.com/eslint/eslint/issues/17114))
(Marcus Wyatt)
-
[`5ea15d9`](https://github.com/eslint/eslint/commit/5ea15d92ee358e8f3f652c94c019cac96aaec651)
docs: add mastodon link in readme
([#&#8203;17110](https://github.com/eslint/eslint/issues/17110)) (唯然)

#### Chores

-
[`4053004`](https://github.com/eslint/eslint/commit/4053004c951813473d1c43f9f9959a9a3484242f)
chore: upgrade
[@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).40.0
([#&#8203;17156](https://github.com/eslint/eslint/issues/17156))
(Milos Djermanovic)
-
[`50fed1d`](https://github.com/eslint/eslint/commit/50fed1da4449ad7ecbb558294438273cfce603d4)
chore: package.json update for
[@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint
Jenkins)
-
[`4c7a170`](https://github.com/eslint/eslint/commit/4c7a170b04c5a746e401bef7ce79766ff66a1168)
chore: upgrade
[@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc)[@&#8203;2](https://github.com/2).0.3
([#&#8203;17155](https://github.com/eslint/eslint/issues/17155))
(Milos Djermanovic)
-
[`e80b7cc`](https://github.com/eslint/eslint/commit/e80b7cce640b60c00802148dbb51d03c7223afa9)
chore: upgrade espree@9.5.2
([#&#8203;17154](https://github.com/eslint/eslint/issues/17154))
(Milos Djermanovic)
-
[`ce3ac91`](https://github.com/eslint/eslint/commit/ce3ac91b510576e2afba1657aa5f09e162b4ab07)
chore: upgrade eslint-visitor-keys@3.4.1
([#&#8203;17153](https://github.com/eslint/eslint/issues/17153))
(Milos Djermanovic)
-
[`9094d79`](https://github.com/eslint/eslint/commit/9094d79fb42c0ebb6100426a3f2f851e8d42a0ee)
chore: add `latest/` to `meta.docs.url` in all core rules
([#&#8203;17136](https://github.com/eslint/eslint/issues/17136))
(Milos Djermanovic)
-
[`d85efad`](https://github.com/eslint/eslint/commit/d85efad655deacc0dc3fdbbace33307094c3b91b)
perf: don't use `grapheme-splitter` on ASCII strings in key-spacing rule
([#&#8203;17122](https://github.com/eslint/eslint/issues/17122))
(Milos Djermanovic)

### [`v8.39.0`](https://github.com/eslint/eslint/releases/tag/v8.39.0)

[Compare
Source](https://github.com/eslint/eslint/compare/v8.38.0...v8.39.0)

#### Features

-
[`3f7af9f`](https://github.com/eslint/eslint/commit/3f7af9f408625dbc486af914706d34c4b483b5ba)
feat: Implement `SourceCode#markVariableAsUsed()`
([#&#8203;17086](https://github.com/eslint/eslint/issues/17086))
(Nicholas C. Zakas)

#### Documentation

-
[`6987dc5`](https://github.com/eslint/eslint/commit/6987dc59e46f4e345d0d6c20c1f2c6846bbd7acc)
docs: Fix formatting in Custom Rules docs
([#&#8203;17097](https://github.com/eslint/eslint/issues/17097))
(Milos Djermanovic)
-
[`4ee92e5`](https://github.com/eslint/eslint/commit/4ee92e5cbdeba6fea2147901ce926de16946958a)
docs: Update README (GitHub Actions Bot)
-
[`d8e9887`](https://github.com/eslint/eslint/commit/d8e9887c2c384d24d586d08ee9ae2ada79bd234c)
docs: Custom Rules cleanup/expansion
([#&#8203;16906](https://github.com/eslint/eslint/issues/16906)) (Ben
Perlmutter)
-
[`1fea279`](https://github.com/eslint/eslint/commit/1fea2797801a82a2718814c83dad641dab092bcc)
docs: Clarify how to add to tsc agenda
([#&#8203;17084](https://github.com/eslint/eslint/issues/17084))
(Nicholas C. Zakas)
-
[`970ef1c`](https://github.com/eslint/eslint/commit/970ef1c868235a58297682513842f1256cdfbd03)
docs: Update triage board location (Nicholas C. Zakas)
-
[`6d8bffd`](https://github.com/eslint/eslint/commit/6d8bffdf45d50e272dc45e6d2d05b4a737514468)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`60a6f26`](https://github.com/eslint/eslint/commit/60a6f2694deb4aa1c54de2a28d0357cddfd16644)
chore: upgrade
[@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).39.0
([#&#8203;17102](https://github.com/eslint/eslint/issues/17102))
(Milos Djermanovic)
-
[`d5ba5c0`](https://github.com/eslint/eslint/commit/d5ba5c0a85e7a10777761f5d46c104ab7f25845b)
chore: package.json update for
[@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint
Jenkins)
-
[`f57eff2`](https://github.com/eslint/eslint/commit/f57eff20f5789408e95061f1af5354bb9b4f4784)
ci: run tests on Node.js v20
([#&#8203;17093](https://github.com/eslint/eslint/issues/17093))
(Nitin Kumar)
-
[`9d1b8fc`](https://github.com/eslint/eslint/commit/9d1b8fc60cc31f12618e58c10a2669506b7ce9bf)
perf: Binary search in token store `utils.search`
([#&#8203;17066](https://github.com/eslint/eslint/issues/17066))
(Francesco Trotta)
-
[`07a4435`](https://github.com/eslint/eslint/commit/07a4435a0c08cb63ebf11b71f735bac20318829b)
chore: Add request for minimal repro to bug report
([#&#8203;17081](https://github.com/eslint/eslint/issues/17081))
(Nicholas C. Zakas)
-
[`eac4943`](https://github.com/eslint/eslint/commit/eac4943ba2e4edb3dbfea0470e5d4b15a4926c40)
refactor: remove unnecessary use of `SourceCode#getAncestors` in rules
([#&#8203;17075](https://github.com/eslint/eslint/issues/17075))
(Milos Djermanovic)
-
[`0a7b60a`](https://github.com/eslint/eslint/commit/0a7b60a9d5621dbbc1a8a8adda3b7c2060c779ca)
chore: update description of `SourceCode#getDeclaredVariables`
([#&#8203;17072](https://github.com/eslint/eslint/issues/17072))
(Milos Djermanovic)
-
[`6e2df71`](https://github.com/eslint/eslint/commit/6e2df71cc390252aaca212abe3dc0467fe397450)
chore: remove unnecessary references to the LICENSE file
([#&#8203;17071](https://github.com/eslint/eslint/issues/17071))
(Milos Djermanovic)

</details>

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

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

[Compare
Source](https://github.com/okonet/lint-staged/compare/v13.2.1...v13.2.2)

##### Bug Fixes

- **dependencies:** update `yaml@2.2.2` (GHSA-f9xv-q969-pqx4)
([#&#8203;1290](https://github.com/okonet/lint-staged/issues/1290))
([cf691aa](https://github.com/okonet/lint-staged/commit/cf691aa188719d9479ceaeffbffe814594fdb65f))

</details>

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

###
[`v2.8.8`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;288)

[Compare
Source](https://github.com/prettier/prettier/compare/2.8.7...2.8.8)

This version is a republished version of v2.8.7.
A bad version was accidentally published and [it can't be
unpublished](https://github.com/npm/cli/issues/1686), apologies for
the churn.

</details>

<details>
<summary>thedoctor0/zip-release</summary>

###
[`v0.7.1`](https://github.com/TheDoctor0/zip-release/releases/tag/0.7.1)

[Compare
Source](https://github.com/thedoctor0/zip-release/compare/0.7.0...0.7.1)

- Allow `tar.gz` usage as `type` for the convenience in job matrix
([#&#8203;38](https://github.com/thedoctor0/zip-release/issues/38))

###
[`v0.7.0`](https://github.com/TheDoctor0/zip-release/releases/tag/0.7.0)

[Compare
Source](https://github.com/thedoctor0/zip-release/compare/0.6.3...0.7.0)

- Add support for custom command parameters (see
[custom](https://github.com/TheDoctor0/zip-release#custom) parameter)

###
[`v0.6.3`](https://github.com/TheDoctor0/zip-release/releases/tag/0.6.3)

[Compare
Source](https://github.com/thedoctor0/zip-release/compare/0.6.2...0.6.3)

- Handle multiple exclusions with tar
([#&#8203;33](https://github.com/thedoctor0/zip-release/issues/33))

</details>

<details>
<summary>vercel/turbo</summary>

### [`v1.9.3`](https://github.com/vercel/turbo/releases/tag/v1.9.3):
Turborepo v1.9.3

[Compare
Source](https://github.com/vercel/turbo/compare/v1.9.2...v1.9.3)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v1.9.3 -->

#### What's Changed

##### Changelog

- Revert "fix(turborepo): SCM tests and renaming
([#&#8203;4462](https://github.com/vercel/turbo/issues/4462))" by
[@&#8203;NicholasLYang](https://github.com/NicholasLYang) in
[https://github.com/vercel/turbo/pull/4604](https://github.com/vercel/turbo/pull/4604)

**Full Changelog**:
https://github.com/vercel/turbo/compare/v1.9.2...v1.9.3

### [`v1.9.2`](https://github.com/vercel/turbo/releases/tag/v1.9.2):
Turborepo v1.9.2

[Compare
Source](https://github.com/vercel/turbo/compare/v1.9.1...v1.9.2)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v1.9.2 -->

#### What's Changed

##### Changelog

- chore: Fix spelling by
[@&#8203;NicholasLYang](https://github.com/NicholasLYang) in
[https://github.com/vercel/turbo/pull/4552](https://github.com/vercel/turbo/pull/4552)
- Include TimeSaved metric in Run Summaries by
[@&#8203;mehulkar](https://github.com/mehulkar) in
[https://github.com/vercel/turbo/pull/4539](https://github.com/vercel/turbo/pull/4539)
- docs: add missing comma in `turbo.json` by
[@&#8203;BRKalow](https://github.com/BRKalow) in
[https://github.com/vercel/turbo/pull/4557](https://github.com/vercel/turbo/pull/4557)
- Delete a test fixture we don't need by
[@&#8203;mehulkar](https://github.com/mehulkar) in
[https://github.com/vercel/turbo/pull/4558](https://github.com/vercel/turbo/pull/4558)
- fix(create-turbo): correct package manager selection by
[@&#8203;tknickman](https://github.com/tknickman) in
[https://github.com/vercel/turbo/pull/4574](https://github.com/vercel/turbo/pull/4574)
- Print Run URL if there is one by
[@&#8203;mehulkar](https://github.com/mehulkar) in
[https://github.com/vercel/turbo/pull/4562](https://github.com/vercel/turbo/pull/4562)
- fix(create-turbo): prompt fix by
[@&#8203;tknickman](https://github.com/tknickman) in
[https://github.com/vercel/turbo/pull/4586](https://github.com/vercel/turbo/pull/4586)
- fix: better support for pnpm aliases by
[@&#8203;chris-olszewski](https://github.com/chris-olszewski) in
[https://github.com/vercel/turbo/pull/4555](https://github.com/vercel/turbo/pull/4555)
- Make find_up use os.ReadDir by
[@&#8203;nathanhammond](https://github.com/nathanhammond) in
[https://github.com/vercel/turbo/pull/4599](https://github.com/vercel/turbo/pull/4599)
- fix(turbo-utils): package manager available by
[@&#8203;tknickman](https://github.com/tknickman) in
[https://github.com/vercel/turbo/pull/4603](https://github.com/vercel/turbo/pull/4603)

#### New Contributors

- [@&#8203;BRKalow](https://github.com/BRKalow) made their first
contribution in
[https://github.com/vercel/turbo/pull/4557](https://github.com/vercel/turbo/pull/4557)

**Full Changelog**:
https://github.com/vercel/turbo/compare/v1.9.1...v1.9.2

</details>

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

###
[`v0.24.7`](https://github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0247-2023-05-08)

[Compare
Source](https://github.com/TypeStrong/TypeDoc/compare/v0.24.6...v0.24.7)

##### Features

- TypeDoc will now allow conversion without any entry points to support
"readme only" packages,
[#&#8203;2264](https://github.com/TypeStrong/TypeDoc/issues/2264).

##### Bug Fixes

- Category children are now sorted according to the `sort` option,
[#&#8203;2272](https://github.com/TypeStrong/TypeDoc/issues/2272).
- Inline tags no longer require a space after the tag name to be parsed
as a tag,
[#&#8203;2273](https://github.com/TypeStrong/TypeDoc/issues/2273).
- Fixed module/namespace links in navigation when viewed in Safari,
[#&#8203;2275](https://github.com/TypeStrong/TypeDoc/issues/2275).

###
[`v0.24.6`](https://github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0246-2023-04-24)

[Compare Source](https://github.com/TypeStrong/TypeDoc/compare/

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on Saturday" (UTC),
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://github.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/KBot-discord/utilities).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in ariakit/ariakit May 11, 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/coverage-c8](https://github.com/vitest-dev/vitest/tree/main/packages/coverage-c8#readme)
([source](https://github.com/vitest-dev/vitest)) | [`0.30.1` ->
`0.31.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-c8/0.30.1/0.31.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Remove `browser` from allowed pools inside `poolMatchGlob` config
option. Please, use Vitest workspaces for running tests in the browser.
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mock('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.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/ariakit/ariakit).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in Unleash/unleash May 12, 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://github.com/vitest-dev/vitest) | [`0.30.1` ->
`0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.30.1/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Remove `browser` from allowed pools inside `poolMatchGlob` config
option. Please, use Vitest workspaces for running tests in the browser.
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mock('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.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:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
huang-julien referenced this issue in huang-julien/nuxt-hydration May 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://github.com/vitest-dev/vitest) | [`^0.28.5` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.28.5/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Remove `browser` from allowed pools inside `poolMatchGlob` config
option. Please, use Vitest workspaces for running tests in the browser.
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mock('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.0...v0.30.1)

#####    🐞 Bug Fixes

- Do not rely on global `performance` and `AggregateError`  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3171](https://github.com/vitest-dev/vitest/issues/3171)
[<samp>(cce45)</samp>](https://github.com/vitest-dev/vitest/commit/cce45496)
- Allow workspace without a config in the root  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3173](https://github.com/vitest-dev/vitest/issues/3173)
[<samp>(06852)</samp>](https://github.com/vitest-dev/vitest/commit/06852f18)
- `test.each` respects `chaiConfig`  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(4f6c1)</samp>](https://github.com/vitest-dev/vitest/commit/4f6c1340)
- Use relative paths in source map's "sources" field  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3177](https://github.com/vitest-dev/vitest/issues/3177)
[<samp>(6b1b4)</samp>](https://github.com/vitest-dev/vitest/commit/6b1b4e68)
-   **types**:
- Allow augmenting jest namespace for custom assertions  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3169](https://github.com/vitest-dev/vitest/issues/3169)
[<samp>(905ec)</samp>](https://github.com/vitest-dev/vitest/commit/905ec05a)
- Publish utils and snapshot .d.ts files for typescript  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3172](https://github.com/vitest-dev/vitest/issues/3172)
[<samp>(7af64)</samp>](https://github.com/vitest-dev/vitest/commit/7af64444)
-   **snapshot**:
- `toMatchFileSnapshot` ensure dir exists  -  by
[@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3155](https://github.com/vitest-dev/vitest/issues/3155)
[<samp>(31168)</samp>](https://github.com/vitest-dev/vitest/commit/311682a8)
- Improve `skipWriting` check  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(5436c)</samp>](https://github.com/vitest-dev/vitest/commit/5436c736)
- Normalize EOL for `toMatchFileSnapshot`  -  by
[@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3164](https://github.com/vitest-dev/vitest/issues/3164)
[<samp>(df3f2)</samp>](https://github.com/vitest-dev/vitest/commit/df3f2b50)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.0...v0.30.1)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.8...v0.30.0)

#####    🚨 Breaking Changes

- Remove tinyspy internal properties on Vitest spies  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3069](https://github.com/vitest-dev/vitest/issues/3069)
[<samp>(2f1dc)</samp>](https://github.com/vitest-dev/vitest/commit/2f1dc5ce)
- Only support Node.js 14.18.0 or newer  -  by
[@&#8203;danez](https://github.com/danez) in
[https://github.com/vitest-dev/vitest/issues/2985](https://github.com/vitest-dev/vitest/issues/2985)
[<samp>(287dc)</samp>](https://github.com/vitest-dev/vitest/commit/287dc205)
- Use "concordance" package to display diff instead of using custom diff
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2828](https://github.com/vitest-dev/vitest/issues/2828)
[<samp>(44630)</samp>](https://github.com/vitest-dev/vitest/commit/446308da)
- Move snapshot implementation into
[@&#8203;vitest/snapshot](https://github.com/vitest/snapshot)  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3032](https://github.com/vitest-dev/vitest/issues/3032)
[<samp>(6aff0)</samp>](https://github.com/vitest-dev/vitest/commit/6aff0176)
- Bump coverage packages vitest peer dependency  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3126](https://github.com/vitest-dev/vitest/issues/3126)
[<samp>(be1bf)</samp>](https://github.com/vitest-dev/vitest/commit/be1bf08d)
- Add workspace support  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3103](https://github.com/vitest-dev/vitest/issues/3103)
[<samp>(b9d1a)</samp>](https://github.com/vitest-dev/vitest/commit/b9d1a975)
-   Experimental optimizer introduced in 0.29.0 is temporarily disabled.

#####    🚀 Features

- Gzip html reporter's metadata  -  by
[@&#8203;7rulnik](https://github.com/7rulnik) in
[https://github.com/vitest-dev/vitest/issues/3113](https://github.com/vitest-dev/vitest/issues/3113)
[<samp>(7856e)</samp>](https://github.com/vitest-dev/vitest/commit/7856ec12)
- Add chai config  -  by [@&#8203;btea](https://github.com/btea) in
[https://github.com/vitest-dev/vitest/issues/3066](https://github.com/vitest-dev/vitest/issues/3066)
[<samp>(6fcba)</samp>](https://github.com/vitest-dev/vitest/commit/6fcba9ba)
- **snapshot**: Introduce `toMatchFileSnapshot` and auto queuing expect
promise  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3116](https://github.com/vitest-dev/vitest/issues/3116)
[<samp>(bdc06)</samp>](https://github.com/vitest-dev/vitest/commit/bdc06dcb)

#####    🐞 Bug Fixes

- Resolve reporters passed down to the CLI relative to the running
directory  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va)
in
[https://github.com/vitest-dev/vitest/issues/3097](https://github.com/vitest-dev/vitest/issues/3097)
[<samp>(93c7e)</samp>](https://github.com/vitest-dev/vitest/commit/93c7e39d)
- Don't show "diff" in "serialized error" section  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(326b2)</samp>](https://github.com/vitest-dev/vitest/commit/326b242d)
- Convert '--single-thread' and '--inspect' cli args to boolean  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3111](https://github.com/vitest-dev/vitest/issues/3111)
[<samp>(83a9a)</samp>](https://github.com/vitest-dev/vitest/commit/83a9aa74)
- Stack trace point to incorrect file  -  by
[@&#8203;ChenKS12138](https://github.com/ChenKS12138) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3004](https://github.com/vitest-dev/vitest/issues/3004)
and
[https://github.com/vitest-dev/vitest/issues/3115](https://github.com/vitest-dev/vitest/issues/3115)
[<samp>(5cee4)</samp>](https://github.com/vitest-dev/vitest/commit/5cee4fbf)
- Run benchmarks sequentially  -  by
[@&#8203;thecodrr](https://github.com/thecodrr) in
[https://github.com/vitest-dev/vitest/issues/2004](https://github.com/vitest-dev/vitest/issues/2004)
and
[https://github.com/vitest-dev/vitest/issues/3151](https://github.com/vitest-dev/vitest/issues/3151)
[<samp>(430b4)</samp>](https://github.com/vitest-dev/vitest/commit/430b4ecb)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.8...v0.30.0)

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

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

#####    🚀 Features

- Allow accessing "vi" methods without context, don't fail when mocker
is not available  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3047](https://github.com/vitest-dev/vitest/issues/3047)
[<samp>(1531c)</samp>](https://github.com/vitest-dev/vitest/commit/1531c420)
- Show browser console in the terminal  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3048](https://github.com/vitest-dev/vitest/issues/3048)
[<samp>(ee6f5)</samp>](https://github.com/vitest-dev/vitest/commit/ee6f590d)
- Playwright as browser provider  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3079](https://github.com/vitest-dev/vitest/issues/3079)
[<samp>(9dc69)</samp>](https://github.com/vitest-dev/vitest/commit/9dc69293)
- Implement `istanbul` coverage support for browser testing  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) and
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3040](https://github.com/vitest-dev/vitest/issues/3040)
[<samp>(0f44d)</samp>](https://github.com/vitest-dev/vitest/commit/0f44d2c8)

#####    🐞 Bug Fixes

- Add generic to expect.objectContaining type  -  by
[@&#8203;ArtyMaury](https://github.com/ArtyMaury) in
[https://github.com/vitest-dev/vitest/issues/3053](https://github.com/vitest-dev/vitest/issues/3053)
[<samp>(69d2c)</samp>](https://github.com/vitest-dev/vitest/commit/69d2cc93)
- Do not fail, when primitive error is thrown  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3074](https://github.com/vitest-dev/vitest/issues/3074)
[<samp>(6efe6)</samp>](https://github.com/vitest-dev/vitest/commit/6efe61ab)
- Handle cloning proxied classes w/ enumerable getters  -  by
[@&#8203;tgriesser](https://github.com/tgriesser) in
[https://github.com/vitest-dev/vitest/issues/3026](https://github.com/vitest-dev/vitest/issues/3026)
[<samp>(196a0)</samp>](https://github.com/vitest-dev/vitest/commit/196a067a)
- Spy on popup apis like alert  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3076](https://github.com/vitest-dev/vitest/issues/3076)
[<samp>(280ad)</samp>](https://github.com/vitest-dev/vitest/commit/280ad1ed)
- Report coverage even when no tests found  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3091](https://github.com/vitest-dev/vitest/issues/3091)
[<samp>(2cb91)</samp>](https://github.com/vitest-dev/vitest/commit/2cb91211)

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

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

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

#####    🐞 Bug Fixes

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

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

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

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

#####    🐞 Bug Fixes

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

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

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

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

#####    🐞 Bug Fixes

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

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

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

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

#####    🚀 Features

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

#####    🐞 Bug Fixes

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

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

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

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

#####    🚀 Features

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

#####    🐞 Bug Fixes

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

#####    🏎 Performance

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

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

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

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

#####    🐞 Bug Fixes

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

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

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

[Compare
Source](https://github.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://github.com/sheremet-va)
[<samp>(d2460)</samp>](https://github.com/vitest-dev/vitest/commit/d2460b7a)

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

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

[Compare
Source](https://github.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://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2836](https://github.com/vitest-dev/vitest/issues/2836)
[<samp>(94247)</samp>](https://github.com/vitest-dev/vitest/commit/94247f1b)
- Coverage-c8 to use V8 profiler directly instead of `NODE_V8_COVERAGE`
 -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2786](https://github.com/vitest-dev/vitest/issues/2786)
[<samp>(095c6)</samp>](https://github.com/vitest-dev/vitest/commit/095c6390)
- Add a link to the comment at the top of the snapshot file  -  by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/vitest-dev/vitest/issues/2867](https://github.com/vitest-dev/vitest/issues/2867)
[<samp>(615e1)</samp>](https://github.com/vitest-dev/vitest/commit/615e150b)
- Always run separate environments in isolation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2860](https://github.com/vitest-dev/vitest/issues/2860)
[<samp>(1f858)</samp>](https://github.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://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2772](https://github.com/vitest-dev/vitest/issues/2772)
[<samp>(7bf54)</samp>](https://github.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://github.com/btkostner) in
[https://github.com/vitest-dev/vitest/issues/2877](https://github.com/vitest-dev/vitest/issues/2877)
[<samp>(bdb39)</samp>](https://github.com/vitest-dev/vitest/commit/bdb39569)
- Use custom source-map-support implementation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2905](https://github.com/vitest-dev/vitest/issues/2905)
[<samp>(6ff6c)</samp>](https://github.com/vitest-dev/vitest/commit/6ff6c6eb)
- Add an option to enable Vite optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2912](https://github.com/vitest-dev/vitest/issues/2912)
[<samp>(af8de)</samp>](https://github.com/vitest-dev/vitest/commit/af8de362)
-   **coverage**:
- Add support for coverage reporter options  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2690](https://github.com/vitest-dev/vitest/issues/2690)
[<samp>(f8176)</samp>](https://github.com/vitest-dev/vitest/commit/f8176182)
- Automatic threshold updating  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2886](https://github.com/vitest-dev/vitest/issues/2886)
[<samp>(e1652)</samp>](https://github.com/vitest-dev/vitest/commit/e1652163)
-   **spy**:
- Implement mock.withImplementation API  -  by
[@&#8203;obadakhalili](https://github.com/obadakhalili) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2835](https://github.com/vitest-dev/vitest/issues/2835)
[<samp>(610b1)</samp>](https://github.com/vitest-dev/vitest/commit/610b1d46)
-   **vite-node**:
- Cli option for vite mode  -  by
[@&#8203;abarke](https://github.com/abarke) in
[https://github.com/vitest-dev/vitest/issues/2893](https://github.com/vitest-dev/vitest/issues/2893)
[<samp>(0fc08)</samp>](https://github.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://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2861](https://github.com/vitest-dev/vitest/issues/2861)
[<samp>(fbc54)</samp>](https://github.com/vitest-dev/vitest/commit/fbc54c91)
- Cleanup last mocked cache when call vi.doMock  -  by
[@&#8203;mysteryven](https://github.com/mysteryven) in
[https://github.com/vitest-dev/vitest/issues/2872](https://github.com/vitest-dev/vitest/issues/2872)
[<samp>(65d71)</samp>](https://github.com/vitest-dev/vitest/commit/65d71b9e)
- Reload changed configuration file on watch mode  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2889](https://github.com/vitest-dev/vitest/issues/2889)
[<samp>(4d277)</samp>](https://github.com/vitest-dev/vitest/commit/4d277d8d)
- **coverage**: Custom providers to work inside worker threads  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2817](https://github.com/vitest-dev/vitest/issues/2817)
[<samp>(81604)</samp>](https://github.com/vitest-dev/vitest/commit/81604bce)

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

</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.

🔕 **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/huang-julien/nuxt-hydration).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@github-actions github-actions bot locked and limited conversation to collaborators Jun 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants