diff --git a/README.md b/README.md
index 68c196a86..4323ea5e4 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ Vitest
Next generation testing framework powered by Vite.
-
+
diff --git a/docs/api/advanced/metadata.md b/docs/api/advanced/metadata.md
index 43dd41a0f..609e0131d 100644
--- a/docs/api/advanced/metadata.md
+++ b/docs/api/advanced/metadata.md
@@ -38,7 +38,7 @@ Vitest uses different methods to communicate with the Node.js process.
- If Vitest runs tests inside worker threads, it will send data via [message port](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort)
- If Vitest uses child process, the data will be send as a serialized Buffer via [`process.send`](https://nodejs.org/api/process.html#processsendmessage-sendhandle-options-callback) API
-- If Vitest runs tests in the browser, the data will be stringified using [flatted](https://www.npmjs.com/package/flatted) package
+- If Vitest runs tests in the browser, the data will be stringified using [flatted](https://npmx.dev/package/flatted) package
This property is also present on every test in the `json` reporter, so make sure that data can be serialized into JSON.
diff --git a/docs/api/advanced/test-project.md b/docs/api/advanced/test-project.md
index d0495e4fe..d7d0e77d7 100644
--- a/docs/api/advanced/test-project.md
+++ b/docs/api/advanced/test-project.md
@@ -233,7 +233,7 @@ project.globTestFiles(['basic/foo.js:10']) // ❌
```
::: tip
-Vitest uses [fast-glob](https://www.npmjs.com/package/fast-glob) to find test files. `test.dir`, `test.root`, `root` or `process.cwd()` define the `cwd` option.
+Vitest uses [fast-glob](https://npmx.dev/package/fast-glob) to find test files. `test.dir`, `test.root`, `root` or `process.cwd()` define the `cwd` option.
This method looks at several config options:
diff --git a/docs/api/browser/context.md b/docs/api/browser/context.md
index fdf37d745..d4c7c2c5e 100644
--- a/docs/api/browser/context.md
+++ b/docs/api/browser/context.md
@@ -292,7 +292,7 @@ utils.configurePrettyDOM({
- **`maxLength`** - Maximum length of the output string (default: `7000`)
- **`filterNode`** - A CSS selector string or function to filter out nodes from the output. When a string is provided, elements matching the selector will be excluded. When a function is provided, it should return `false` to exclude a node.
- **`highlight`** - Enable syntax highlighting (default: `true`)
-- And other options from [`pretty-format`](https://www.npmjs.com/package/@vitest/pretty-format)
+- And other options from [`pretty-format`](https://npmx.dev/package/@vitest/pretty-format)
#### Filtering with CSS Selectors 4.1.0 {#filtering-with-css-selectors}
diff --git a/docs/api/browser/locators.md b/docs/api/browser/locators.md
index 833e286a0..53770f2e0 100644
--- a/docs/api/browser/locators.md
+++ b/docs/api/browser/locators.md
@@ -7,7 +7,7 @@ outline: [2, 3]
A locator is a representation of an element or a number of elements. Every locator is defined by a string called a selector. Vitest abstracts this selector by providing convenient methods that generate them behind the scenes.
-The locator API uses a fork of [Playwright's locators](https://playwright.dev/docs/api/class-locator) called [Ivya](https://npmjs.com/ivya). However, Vitest provides this API to every [provider](/config/browser/provider), not just playwright.
+The locator API uses a fork of [Playwright's locators](https://playwright.dev/docs/api/class-locator) called [Ivya](https://npmx.dev/ivya). However, Vitest provides this API to every [provider](/config/browser/provider), not just playwright.
::: tip
This page covers API usage. To better understand locators and their usage, read [Playwright's "Locators" documentation](https://playwright.dev/docs/locators).
diff --git a/docs/api/browser/react.md b/docs/api/browser/react.md
index 78e3fd8bd..6555db306 100644
--- a/docs/api/browser/react.md
+++ b/docs/api/browser/react.md
@@ -4,7 +4,7 @@ outline: deep
# vitest-browser-react
-The community [`vitest-browser-react`](https://www.npmjs.com/package/vitest-browser-react) package renders [React](https://react.dev/) components in [Browser Mode](/guide/browser/).
+The community [`vitest-browser-react`](https://npmx.dev/package/vitest-browser-react) package renders [React](https://react.dev/) components in [Browser Mode](/guide/browser/).
```jsx
import { render } from 'vitest-browser-react'
diff --git a/docs/api/browser/svelte.md b/docs/api/browser/svelte.md
index 1b100e9d0..a249f848c 100644
--- a/docs/api/browser/svelte.md
+++ b/docs/api/browser/svelte.md
@@ -4,7 +4,7 @@ outline: deep
# vitest-browser-svelte
-The community [`vitest-browser-svelte`](https://www.npmjs.com/package/vitest-browser-svelte) package renders [Svelte](https://svelte.dev/) components in [Browser Mode](/guide/browser/).
+The community [`vitest-browser-svelte`](https://npmx.dev/package/vitest-browser-svelte) package renders [Svelte](https://svelte.dev/) components in [Browser Mode](/guide/browser/).
```ts
import { render } from 'vitest-browser-svelte'
diff --git a/docs/api/browser/vue.md b/docs/api/browser/vue.md
index 965f9efcb..5fa64356e 100644
--- a/docs/api/browser/vue.md
+++ b/docs/api/browser/vue.md
@@ -4,7 +4,7 @@ outline: deep
# vitest-browser-vue
-The community [`vitest-browser-vue`](https://www.npmjs.com/package/vitest-browser-vue) package renders [Vue](https://vuejs.org/) components in [Browser Mode](/guide/browser/).
+The community [`vitest-browser-vue`](https://npmx.dev/package/vitest-browser-vue) package renders [Vue](https://vuejs.org/) components in [Browser Mode](/guide/browser/).
```ts
import { render } from 'vitest-browser-vue'
diff --git a/docs/api/expect.md b/docs/api/expect.md
index 1e0840405..ea30ccd1c 100644
--- a/docs/api/expect.md
+++ b/docs/api/expect.md
@@ -2113,7 +2113,7 @@ This method adds custom serializers that are called when creating a snapshot. Th
If you are adding custom serializers, you should call this method inside [`setupFiles`](/config/setupfiles). This will affect every snapshot.
:::tip
-If you previously used Vue CLI with Jest, you might want to install [jest-serializer-vue](https://www.npmjs.com/package/jest-serializer-vue). Otherwise, your snapshots will be wrapped in a string, which cases `"` to be escaped.
+If you previously used Vue CLI with Jest, you might want to install [jest-serializer-vue](https://npmx.dev/package/jest-serializer-vue). Otherwise, your snapshots will be wrapped in a string, which cases `"` to be escaped.
:::
## expect.extend
diff --git a/docs/blog/vitest-4.md b/docs/blog/vitest-4.md
index 8ef2b1ad9..016fde003 100644
--- a/docs/blog/vitest-4.md
+++ b/docs/blog/vitest-4.md
@@ -56,7 +56,7 @@ To stay updated, keep an eye on the [VoidZero blog](https://voidzero.dev/blog) a
With this release we are removing the `experimental` tag from [Browser Mode](/guide/browser/). To make it possible, we had to introduce some changes to the public API.
-To define a provider, you now need to install a separate package: [`@vitest/browser-playwright`](https://www.npmjs.com/package/@vitest/browser-playwright), [`@vitest/browser-webdriverio`](https://www.npmjs.com/package/@vitest/browser-webdriverio), or [`@vitest/browser-preview`](https://www.npmjs.com/package/@vitest/browser-preview). This makes it simpler to work with custom options and doesn't require adding `/// {
## Testing Library Integration
-While Vitest provides official packages for popular frameworks ([`vitest-browser-vue`](https://www.npmjs.com/package/vitest-browser-vue), [`vitest-browser-react`](https://www.npmjs.com/package/vitest-browser-react), [`vitest-browser-svelte`](https://www.npmjs.com/package/vitest-browser-svelte)), you can integrate with [Testing Library](https://testing-library.com/) for frameworks not yet officially supported.
+While Vitest provides official packages for popular frameworks ([`vitest-browser-vue`](https://npmx.dev/package/vitest-browser-vue), [`vitest-browser-react`](https://npmx.dev/package/vitest-browser-react), [`vitest-browser-svelte`](https://npmx.dev/package/vitest-browser-svelte)), you can integrate with [Testing Library](https://testing-library.com/) for frameworks not yet officially supported.
### When to Use Testing Library
@@ -168,8 +168,8 @@ Popular Testing Library packages that work well with Vitest:
- [`@testing-library/solid`](https://github.com/solidjs/solid-testing-library) - For Solid.js
- [`@marko/testing-library`](https://testing-library.com/docs/marko-testing-library/intro) - For Marko
-- [`@testing-library/svelte`](https://testing-library.com/docs/svelte-testing-library/intro) - Alternative to [`vitest-browser-svelte`](https://www.npmjs.com/package/vitest-browser-svelte)
-- [`@testing-library/vue`](https://testing-library.com/docs/vue-testing-library/intro) - Alternative to [`vitest-browser-vue`](https://www.npmjs.com/package/vitest-browser-vue)
+- [`@testing-library/svelte`](https://testing-library.com/docs/svelte-testing-library/intro) - Alternative to [`vitest-browser-svelte`](https://npmx.dev/package/vitest-browser-svelte)
+- [`@testing-library/vue`](https://testing-library.com/docs/vue-testing-library/intro) - Alternative to [`vitest-browser-vue`](https://npmx.dev/package/vitest-browser-vue)
::: tip Migration Path
If your framework gets official Vitest support later, you can gradually migrate by replacing Testing Library's `render` function while keeping most of your test logic intact.
diff --git a/docs/guide/browser/index.md b/docs/guide/browser/index.md
index c385f5212..990498af1 100644
--- a/docs/guide/browser/index.md
+++ b/docs/guide/browser/index.md
@@ -55,13 +55,13 @@ bun add -D vitest @vitest/browser-preview
:::
::: warning
-However, to run tests in CI you need to install either [`playwright`](https://npmjs.com/package/playwright) or [`webdriverio`](https://www.npmjs.com/package/webdriverio). We also recommend switching to either one of them for testing locally instead of using the default `preview` provider since it relies on simulating events instead of using Chrome DevTools Protocol.
+However, to run tests in CI you need to install either [`playwright`](https://npmx.dev/package/playwright) or [`webdriverio`](https://npmx.dev/package/webdriverio). We also recommend switching to either one of them for testing locally instead of using the default `preview` provider since it relies on simulating events instead of using Chrome DevTools Protocol.
If you don't already use one of these tools, we recommend starting with Playwright because it supports parallel execution, which makes your tests run faster.
::: tabs key:provider
== Playwright
-[Playwright](https://npmjs.com/package/playwright) is a framework for Web Testing and Automation.
+[Playwright](https://npmx.dev/package/playwright) is a framework for Web Testing and Automation.
::: code-group
```bash [npm]
@@ -78,7 +78,7 @@ bun add -D vitest @vitest/browser-playwright
```
== WebdriverIO
-[WebdriverIO](https://www.npmjs.com/package/webdriverio) allows you to run tests locally using the WebDriver protocol.
+[WebdriverIO](https://npmx.dev/package/webdriverio) allows you to run tests locally using the WebDriver protocol.
::: code-group
```bash [npm]
@@ -362,7 +362,7 @@ npx vitest --browser.headless
In this case, Vitest will run in headless mode using the Chrome browser.
::: warning
-Headless mode is not available by default. You need to use either [`playwright`](https://npmjs.com/package/playwright) or [`webdriverio`](https://www.npmjs.com/package/webdriverio) providers to enable this feature.
+Headless mode is not available by default. You need to use either [`playwright`](https://npmx.dev/package/playwright) or [`webdriverio`](https://npmx.dev/package/webdriverio) providers to enable this feature.
:::
## Examples
diff --git a/docs/guide/browser/visual-regression-testing.md b/docs/guide/browser/visual-regression-testing.md
index ea890aa70..df0551061 100644
--- a/docs/guide/browser/visual-regression-testing.md
+++ b/docs/guide/browser/visual-regression-testing.md
@@ -421,7 +421,7 @@ Your CI needs browsers installed. How you do this depends on your provider:
::: tabs key:provider
== Playwright
-[Playwright](https://npmjs.com/package/playwright) makes this easy. Just pin
+[Playwright](https://npmx.dev/package/playwright) makes this easy. Just pin
your version and add this before running tests:
```yaml [.github/workflows/ci.yml]
@@ -432,7 +432,7 @@ your version and add this before running tests:
== WebdriverIO
-[WebdriverIO](https://www.npmjs.com/package/webdriverio) expects you to bring
+[WebdriverIO](https://npmx.dev/package/webdriverio) expects you to bring
your own browsers. The folks at
[@browser-actions](https://github.com/browser-actions) have your back:
diff --git a/docs/guide/browser/why.md b/docs/guide/browser/why.md
index d84c8ffbe..24e3d0415 100644
--- a/docs/guide/browser/why.md
+++ b/docs/guide/browser/why.md
@@ -11,7 +11,7 @@ We developed the Vitest browser mode feature to help improve testing workflows a
### Different Ways of Testing
-There are different ways to test JavaScript code. Some testing frameworks simulate browser environments in Node.js, while others run tests in real browsers. In this context, [jsdom](https://www.npmjs.com/package/jsdom) is an example of a spec implementation that simulates a browser environment by being used with a test runner like Jest or Vitest, while other testing tools such as [WebdriverIO](https://webdriver.io/) or [Cypress](https://www.cypress.io/) allow developers to test their applications in a real browser or in case of [Playwright](https://playwright.dev/) provide you a browser engine.
+There are different ways to test JavaScript code. Some testing frameworks simulate browser environments in Node.js, while others run tests in real browsers. In this context, [jsdom](https://npmx.dev/package/jsdom) is an example of a spec implementation that simulates a browser environment by being used with a test runner like Jest or Vitest, while other testing tools such as [WebdriverIO](https://webdriver.io/) or [Cypress](https://www.cypress.io/) allow developers to test their applications in a real browser or in case of [Playwright](https://playwright.dev/) provide you a browser engine.
### The Simulation Caveat
diff --git a/docs/guide/common-errors.md b/docs/guide/common-errors.md
index 5c22045bb..e3808fb76 100644
--- a/docs/guide/common-errors.md
+++ b/docs/guide/common-errors.md
@@ -10,7 +10,7 @@ If you receive an error that module cannot be found, it might mean several diffe
1. You misspelled the path. Make sure the path is correct.
-2. It's possible that you rely on `baseUrl` in your `tsconfig.json`. Vite doesn't take into account `tsconfig.json` by default, so you might need to install [`vite-tsconfig-paths`](https://www.npmjs.com/package/vite-tsconfig-paths) yourself, if you rely on this behavior.
+2. It's possible that you rely on `baseUrl` in your `tsconfig.json`. Vite doesn't take into account `tsconfig.json` by default, so you might need to install [`vite-tsconfig-paths`](https://npmx.dev/package/vite-tsconfig-paths) yourself, if you rely on this behavior.
```ts
import { defineConfig } from 'vitest/config'
diff --git a/docs/guide/environment.md b/docs/guide/environment.md
index 5abdc011a..e6af1e3da 100644
--- a/docs/guide/environment.md
+++ b/docs/guide/environment.md
@@ -11,7 +11,7 @@ By default, you can use these environments:
- `node` is default environment
- `jsdom` emulates browser environment by providing Browser API, uses [`jsdom`](https://github.com/jsdom/jsdom) package
- `happy-dom` emulates browser environment by providing Browser API, and considered to be faster than jsdom, but lacks some API, uses [`happy-dom`](https://github.com/capricorn86/happy-dom) package
-- `edge-runtime` emulates Vercel's [edge-runtime](https://edge-runtime.vercel.app/), uses [`@edge-runtime/vm`](https://www.npmjs.com/package/@edge-runtime/vm) package
+- `edge-runtime` emulates Vercel's [edge-runtime](https://edge-runtime.vercel.app/), uses [`@edge-runtime/vm`](https://npmx.dev/package/@edge-runtime/vm) package
::: info
When using `jsdom` or `happy-dom` environments, Vitest follows the same rules that Vite does when importing [CSS](https://vitejs.dev/guide/features.html#css) and [assets](https://vitejs.dev/guide/features.html#static-assets). If importing external dependency fails with `unknown extension .css` error, you need to inline the whole import chain manually by adding all packages to [`server.deps.inline`](/config/server#inline). For example, if the error happens in `package-3` in this import chain: `source code -> package-1 -> package-2 -> package-3`, you need to add all three packages to `server.deps.inline`.
diff --git a/docs/guide/mocking/file-system.md b/docs/guide/mocking/file-system.md
index a8be3df08..e127e5de2 100644
--- a/docs/guide/mocking/file-system.md
+++ b/docs/guide/mocking/file-system.md
@@ -2,7 +2,7 @@
Mocking the file system ensures that the tests do not depend on the actual file system, making the tests more reliable and predictable. This isolation helps in avoiding side effects from previous tests. It allows for testing error conditions and edge cases that might be difficult or impossible to replicate with an actual file system, such as permission issues, disk full scenarios, or read/write errors.
-Vitest doesn't provide any file system mocking API out of the box. You can use `vi.mock` to mock the `fs` module manually, but it's hard to maintain. Instead, we recommend using [`memfs`](https://www.npmjs.com/package/memfs) to do that for you. `memfs` creates an in-memory file system, which simulates file system operations without touching the actual disk. This approach is fast and safe, avoiding any potential side effects on the real file system.
+Vitest doesn't provide any file system mocking API out of the box. You can use `vi.mock` to mock the `fs` module manually, but it's hard to maintain. Instead, we recommend using [`memfs`](https://npmx.dev/package/memfs) to do that for you. `memfs` creates an in-memory file system, which simulates file system operations without touching the actual disk. This approach is fast and safe, avoiding any potential side effects on the real file system.
## Example
diff --git a/packages/browser-playwright/README.md b/packages/browser-playwright/README.md
index 8d8c798c4..a30006535 100644
--- a/packages/browser-playwright/README.md
+++ b/packages/browser-playwright/README.md
@@ -1,6 +1,6 @@
# @vitest/browser-playwright
-[](https://www.npmjs.com/package/@vitest/browser-playwright)
+[](https://npmx.dev/package/@vitest/browser-playwright)
Run your Vitest [browser tests](https://vitest.dev/guide/browser/) using [playwright](https://playwright.dev/docs/api/class-playwright) API. Note that Vitest does not use playwright as a test runner, but only as a browser provider.
diff --git a/packages/browser-preview/README.md b/packages/browser-preview/README.md
index 5a4715c5c..70ed429ec 100644
--- a/packages/browser-preview/README.md
+++ b/packages/browser-preview/README.md
@@ -1,11 +1,11 @@
# @vitest/browser-preview
-[](https://www.npmjs.com/package/@vitest/browser-preview)
+[](https://npmx.dev/package/@vitest/browser-preview)
See how your tests look like in a real browser. For proper and stable browser testing, we recommend running tests in a headless browser in your CI instead. For this, you should use either:
-- [@vitest/browser-playwright](https://www.npmjs.com/package/@vitest/browser-playwright) - run tests using [playwright](https://playwright.dev/)
-- [@vitest/browser-webdriverio](https://www.npmjs.com/package/@vitest/browser-webdriverio) - run tests using [webdriverio](https://webdriver.io/)
+- [@vitest/browser-playwright](https://npmx.dev/package/@vitest/browser-playwright) - run tests using [playwright](https://playwright.dev/)
+- [@vitest/browser-webdriverio](https://npmx.dev/package/@vitest/browser-webdriverio) - run tests using [webdriverio](https://webdriver.io/)
## Installation
diff --git a/packages/browser-webdriverio/README.md b/packages/browser-webdriverio/README.md
index 03b016d53..a9c395017 100644
--- a/packages/browser-webdriverio/README.md
+++ b/packages/browser-webdriverio/README.md
@@ -1,6 +1,6 @@
# @vitest/browser-webdriverio
-[](https://www.npmjs.com/package/@vitest/browser-webdriverio)
+[](https://npmx.dev/package/@vitest/browser-webdriverio)
Run your Vitest [browser tests](https://vitest.dev/guide/browser/) using [webdriverio](https://webdriver.io/docs/api/browser) API. Note that Vitest does not use webdriverio as a test runner, but only as a browser provider.
diff --git a/packages/browser/README.md b/packages/browser/README.md
index 4b4fe9851..5edbbe2bd 100644
--- a/packages/browser/README.md
+++ b/packages/browser/README.md
@@ -1,11 +1,11 @@
# @vitest/browser
-[](https://www.npmjs.com/package/@vitest/browser)
+[](https://npmx.dev/package/@vitest/browser)
This package exposes utilities to make your own browser provider. If you just need to run tests in the browser, consider installing one of these packages instead:
-- [@vitest/browser-playwright](https://www.npmjs.com/package/@vitest/browser-playwright) - run tests using [playwright](https://playwright.dev/)
-- [@vitest/browser-webdriverio](https://www.npmjs.com/package/@vitest/browser-webdriverio) - run tests using [webdriverio](https://webdriver.io/)
-- [@vitest/browser-preview](https://www.npmjs.com/package/@vitest/browser-preview) to see how your tests look like in a real browser.
+- [@vitest/browser-playwright](https://npmx.dev/package/@vitest/browser-playwright) - run tests using [playwright](https://playwright.dev/)
+- [@vitest/browser-webdriverio](https://npmx.dev/package/@vitest/browser-webdriverio) - run tests using [webdriverio](https://webdriver.io/)
+- [@vitest/browser-preview](https://npmx.dev/package/@vitest/browser-preview) to see how your tests look like in a real browser.
[GitHub](https://github.com/vitest-dev/vitest) | [Documentation](https://vitest.dev/guide/browser/)
diff --git a/packages/coverage-istanbul/README.md b/packages/coverage-istanbul/README.md
index de9e3b6c0..927206220 100644
--- a/packages/coverage-istanbul/README.md
+++ b/packages/coverage-istanbul/README.md
@@ -1,6 +1,6 @@
# @vitest/coverage-istanbul
-[](https://www.npmjs.com/package/@vitest/coverage-istanbul)
+[](https://npmx.dev/package/@vitest/coverage-istanbul)
Vitest coverage provider that instruments code coverage via [istanbul](https://istanbul.js.org/).
diff --git a/packages/coverage-v8/README.md b/packages/coverage-v8/README.md
index 13752f7a1..452c7fc1e 100644
--- a/packages/coverage-v8/README.md
+++ b/packages/coverage-v8/README.md
@@ -1,6 +1,6 @@
# @vitest/coverage-v8
-[](https://www.npmjs.com/package/@vitest/coverage-v8)
+[](https://npmx.dev/package/@vitest/coverage-v8)
Vitest coverage provider that supports native code coverage via [v8](https://v8.dev/blog/javascript-code-coverage).
diff --git a/packages/expect/README.md b/packages/expect/README.md
index 0d696dd54..d3c72567d 100644
--- a/packages/expect/README.md
+++ b/packages/expect/README.md
@@ -1,6 +1,6 @@
# @vitest/expect
-[](https://www.npmjs.com/package/@vitest/runner)
+[](https://npmx.dev/package/@vitest/runner)
Jest's expect matchers as a Chai plugin.
diff --git a/packages/mocker/README.md b/packages/mocker/README.md
index 991e7e552..dae8292f6 100644
--- a/packages/mocker/README.md
+++ b/packages/mocker/README.md
@@ -1,6 +1,6 @@
# @vitest/mocker
-[](https://www.npmjs.com/package/@vitest/mocker)
+[](https://npmx.dev/package/@vitest/mocker)
Vitest's module mocker implementation.
diff --git a/packages/pretty-format/README.md b/packages/pretty-format/README.md
index d05808ac7..4c24447e0 100644
--- a/packages/pretty-format/README.md
+++ b/packages/pretty-format/README.md
@@ -1,6 +1,6 @@
# @vitest/pretty-format
-[](https://www.npmjs.com/package/@vitest/pretty-format)
+[](https://npmx.dev/package/@vitest/pretty-format)
Jest's `pretty-format` implementation that only supports ESM.
diff --git a/packages/runner/README.md b/packages/runner/README.md
index 20207299b..2f6884dd5 100644
--- a/packages/runner/README.md
+++ b/packages/runner/README.md
@@ -1,6 +1,6 @@
# @vitest/runner
-[](https://www.npmjs.com/package/@vitest/runner)
+[](https://npmx.dev/package/@vitest/runner)
Vitest mechanism to collect and run tests.
diff --git a/packages/snapshot/README.md b/packages/snapshot/README.md
index f88a9b680..db0e4f81e 100644
--- a/packages/snapshot/README.md
+++ b/packages/snapshot/README.md
@@ -1,6 +1,6 @@
# @vitest/snapshot
-[](https://www.npmjs.com/package/@vitest/snapshot)
+[](https://npmx.dev/package/@vitest/snapshot)
Lightweight implementation of Jest's snapshots.
diff --git a/packages/spy/README.md b/packages/spy/README.md
index dad5476ee..97129c5ea 100644
--- a/packages/spy/README.md
+++ b/packages/spy/README.md
@@ -1,6 +1,6 @@
# @vitest/spy
-[](https://www.npmjs.com/package/@vitest/spy)
+[](https://npmx.dev/package/@vitest/spy)
Lightweight Jest-compatible mocking implementation.
diff --git a/packages/ui/README.md b/packages/ui/README.md
index 24b4c6278..dec17e838 100644
--- a/packages/ui/README.md
+++ b/packages/ui/README.md
@@ -1,6 +1,6 @@
# @vitest/ui
-[](https://www.npmjs.com/package/@vitest/ui)
+[](https://npmx.dev/package/@vitest/ui)
See your test results in the browser.
diff --git a/packages/utils/README.md b/packages/utils/README.md
index 865e6aa4e..ee3b768a0 100644
--- a/packages/utils/README.md
+++ b/packages/utils/README.md
@@ -1,6 +1,6 @@
# @vitest/utils
-[](https://www.npmjs.com/package/@vitest/utils)
+[](https://npmx.dev/package/@vitest/utils)
Internal shared utilities used by other Vitest packages.
diff --git a/packages/vitest/README.md b/packages/vitest/README.md
index 3af9a29b7..239c447fc 100644
--- a/packages/vitest/README.md
+++ b/packages/vitest/README.md
@@ -1,6 +1,6 @@
# vitest
-[](https://www.npmjs.com/package/vitest)
+[](https://npmx.dev/package/vitest)
Next generation testing framework powered by Vite.
diff --git a/packages/web-worker/README.md b/packages/web-worker/README.md
index d548efea5..c237cb135 100644
--- a/packages/web-worker/README.md
+++ b/packages/web-worker/README.md
@@ -1,6 +1,6 @@
# @vitest/web-worker
-[](https://www.npmjs.com/package/@vitest/web-worker)
+[](https://npmx.dev/package/@vitest/web-worker)
> Web Worker support for Vitest testing. Doesn't require JSDom.