Repository: vitest-dev/vitest
Pull request #7590: chore: use pnpm catalog
Author: login: btea
Created: 2025-03-01T00:19:08Z | Merged: 2025-03-07T13:10:38Z

### Description
Using catalog makes it easier for multiple packages to manage the same dependencies. https://pnpm.io/catalogs
And renovate also supports catalog. https://github.com/renovatebot/renovate/pull/33376
<!-- Please insert your description here and provide especially info about the "what" this PR is solving -->

<!-- You can also add additional context here -->

### Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
- [ ] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
- [ ] Ideally, include a test that fails without this PR but passes with it.
- [ ] Please, don't make changes to `pnpm-lock.yaml` unless you introduce a new test example.

### Tests
- [ ] Run the tests with `pnpm test:ci`.

### Documentation
- [ ] If you introduce new functionality, document it. You can run documentation with `pnpm run docs` command.

### Changesets
- [ ] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with `feat:`, `fix:`, `perf:`, `docs:`, or `chore:`.



Diff:
diff --git a/docs/package.json b/docs/package.json
index 9a1121801fbb..0116e6ef1624 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -14,22 +14,22 @@
     "generate-pwa-icons": "pwa-assets-generator"
   },
   "dependencies": {
-    "@vueuse/core": "^12.7.0",
-    "vue": "^3.5.12"
+    "@vueuse/core": "catalog:",
+    "vue": "catalog:"
   },
   "devDependencies": {
-    "@iconify-json/carbon": "^1.2.7",
-    "@iconify-json/logos": "^1.2.4",
+    "@iconify-json/carbon": "catalog:",
+    "@iconify-json/logos": "catalog:",
     "@shikijs/transformers": "^3.0.0",
     "@shikijs/vitepress-twoslash": "^3.0.0",
-    "@unocss/reset": "^0.65.4",
+    "@unocss/reset": "catalog:",
     "@vite-pwa/assets-generator": "^0.2.6",
     "@vite-pwa/vitepress": "^0.5.3",
-    "@vitejs/plugin-vue": "^5.2.1",
+    "@vitejs/plugin-vue": "catalog:",
     "https-localhost": "^4.7.1",
-    "tinyglobby": "^0.2.12",
-    "unocss": "^0.65.4",
-    "unplugin-vue-components": "^0.28.0",
+    "tinyglobby": "catalog:",
+    "unocss": "catalog:",
+    "unplugin-vue-components": "catalog:",
     "vite": "^5.2.8",
     "vite-plugin-pwa": "^0.21.1",
     "vitepress": "2.0.0-alpha.3",
diff --git a/packages/browser/package.json b/packages/browser/package.json
index 9851b8f72d4f..14af2a93e18e 100644
--- a/packages/browser/package.json
+++ b/packages/browser/package.json
@@ -91,25 +91,25 @@
     "@testing-library/user-event": "^14.6.1",
     "@vitest/mocker": "workspace:*",
     "@vitest/utils": "workspace:*",
-    "magic-string": "^0.30.17",
-    "msw": "^2.7.3",
-    "sirv": "^3.0.1",
-    "tinyrainbow": "^2.0.0",
-    "ws": "^8.18.1"
+    "magic-string": "catalog:",
+    "msw": "catalog:",
+    "sirv": "catalog:",
+    "tinyrainbow": "catalog:",
+    "ws": "catalog:"
   },
   "devDependencies": {
     "@testing-library/jest-dom": "^6.6.3",
-    "@types/ws": "^8.5.14",
+    "@types/ws": "catalog:",
     "@vitest/runner": "workspace:*",
     "@vitest/ui": "workspace:*",
     "@vitest/ws-client": "workspace:*",
     "@wdio/protocols": "^9.7.0",
     "@wdio/types": "^9.9.0",
-    "birpc": "0.2.19",
-    "flatted": "^3.3.3",
+    "birpc": "catalog:",
+    "flatted": "catalog:",
     "ivya": "^1.1.1",
     "mime": "^4.0.6",
-    "pathe": "^2.0.3",
+    "pathe": "catalog:",
     "periscopic": "^4.0.2",
     "playwright": "^1.50.1",
     "playwright-core": "^1.50.1",
diff --git a/packages/coverage-istanbul/package.json b/packages/coverage-istanbul/package.json
index ffdc5445ccb6..f8c95b505952 100644
--- a/packages/coverage-istanbul/package.json
+++ b/packages/coverage-istanbul/package.json
@@ -45,25 +45,25 @@
   },
   "dependencies": {
     "@istanbuljs/schema": "^0.1.3",
-    "debug": "^4.4.0",
-    "istanbul-lib-coverage": "^3.2.2",
+    "debug": "catalog:",
+    "istanbul-lib-coverage": "catalog:",
     "istanbul-lib-instrument": "^6.0.3",
-    "istanbul-lib-report": "^3.0.1",
-    "istanbul-lib-source-maps": "^5.0.6",
-    "istanbul-reports": "^3.1.7",
-    "magicast": "^0.3.5",
-    "test-exclude": "^7.0.1",
-    "tinyrainbow": "^2.0.0"
+    "istanbul-lib-report": "catalog:",
+    "istanbul-lib-source-maps": "catalog:",
+    "istanbul-reports": "catalog:",
+    "magicast": "catalog:",
+    "test-exclude": "catalog:",
+    "tinyrainbow": "catalog:"
   },
   "devDependencies": {
-    "@types/debug": "^4.1.12",
-    "@types/istanbul-lib-coverage": "^2.0.6",
+    "@types/debug": "catalog:",
+    "@types/istanbul-lib-coverage": "catalog:",
     "@types/istanbul-lib-instrument": "^1.7.7",
-    "@types/istanbul-lib-report": "^3.0.3",
-    "@types/istanbul-lib-source-maps": "^4.0.4",
-    "@types/istanbul-reports": "^3.0.4",
-    "@types/test-exclude": "^6.0.2",
-    "pathe": "^2.0.3",
+    "@types/istanbul-lib-report": "catalog:",
+    "@types/istanbul-lib-source-maps": "catalog:",
+    "@types/istanbul-reports": "catalog:",
+    "@types/test-exclude": "catalog:",
+    "pathe": "catalog:",
     "vitest": "workspace:*"
   }
 }
diff --git a/packages/coverage-v8/package.json b/packages/coverage-v8/package.json
index e34d4aaed398..306bd7063cbd 100644
--- a/packages/coverage-v8/package.json
+++ b/packages/coverage-v8/package.json
@@ -54,28 +54,28 @@
     }
   },
   "dependencies": {
-    "@ampproject/remapping": "^2.3.0",
+    "@ampproject/remapping": "catalog:",
     "@bcoe/v8-coverage": "^1.0.2",
-    "debug": "^4.4.0",
-    "istanbul-lib-coverage": "^3.2.2",
-    "istanbul-lib-report": "^3.0.1",
-    "istanbul-lib-source-maps": "^5.0.6",
-    "istanbul-reports": "^3.1.7",
-    "magic-string": "^0.30.17",
-    "magicast": "^0.3.5",
-    "std-env": "^3.8.0",
-    "test-exclude": "^7.0.1",
-    "tinyrainbow": "^2.0.0"
+    "debug": "catalog:",
+    "istanbul-lib-coverage": "catalog:",
+    "istanbul-lib-report": "catalog:",
+    "istanbul-lib-source-maps": "catalog:",
+    "istanbul-reports": "catalog:",
+    "magic-string": "catalog:",
+    "magicast": "catalog:",
+    "std-env": "catalog:",
+    "test-exclude": "catalog:",
+    "tinyrainbow": "catalog:"
   },
   "devDependencies": {
-    "@types/debug": "^4.1.12",
-    "@types/istanbul-lib-coverage": "^2.0.6",
-    "@types/istanbul-lib-report": "^3.0.3",
-    "@types/istanbul-lib-source-maps": "^4.0.4",
-    "@types/istanbul-reports": "^3.0.4",
-    "@types/test-exclude": "^6.0.2",
+    "@types/debug": "catalog:",
+    "@types/istanbul-lib-coverage": "catalog:",
+    "@types/istanbul-lib-report": "catalog:",
+    "@types/istanbul-lib-source-maps": "catalog:",
+    "@types/istanbul-reports": "catalog:",
+    "@types/test-exclude": "catalog:",
     "@vitest/browser": "workspace:*",
-    "pathe": "^2.0.3",
+    "pathe": "catalog:",
     "v8-to-istanbul": "^9.3.0",
     "vite-node": "workspace:*",
     "vitest": "workspace:*"
diff --git a/packages/expect/package.json b/packages/expect/package.json
index fb79fc3611ee..fc9bd72988c4 100644
--- a/packages/expect/package.json
+++ b/packages/expect/package.json
@@ -36,8 +36,8 @@
   "dependencies": {
     "@vitest/spy": "workspace:*",
     "@vitest/utils": "workspace:*",
-    "chai": "^5.2.0",
-    "tinyrainbow": "^2.0.0"
+    "chai": "catalog:",
+    "tinyrainbow": "catalog:"
   },
   "devDependencies": {
     "@types/chai": "5.0.1",
diff --git a/packages/mocker/package.json b/packages/mocker/package.json
index 9ff6aa23fcf8..96ae5140122e 100644
--- a/packages/mocker/package.json
+++ b/packages/mocker/package.json
@@ -68,15 +68,15 @@
   "dependencies": {
     "@vitest/spy": "workspace:*",
     "estree-walker": "^3.0.3",
-    "magic-string": "^0.30.17"
+    "magic-string": "catalog:"
   },
   "devDependencies": {
-    "@types/estree": "^1.0.6",
+    "@types/estree": "catalog:",
     "@vitest/spy": "workspace:*",
     "@vitest/utils": "workspace:*",
-    "acorn-walk": "^8.3.4",
-    "msw": "^2.7.3",
-    "pathe": "^2.0.3",
+    "acorn-walk": "catalog:",
+    "msw": "catalog:",
+    "pathe": "catalog:",
     "vite": "^5.4.0"
   }
 }
diff --git a/packages/pretty-format/package.json b/packages/pretty-format/package.json
index 425441e13aca..2ab2d7992e84 100644
--- a/packages/pretty-format/package.json
+++ b/packages/pretty-format/package.json
@@ -34,7 +34,7 @@
     "dev": "rollup -c --watch"
   },
   "dependencies": {
-    "tinyrainbow": "^2.0.0"
+    "tinyrainbow": "catalog:"
   },
   "devDependencies": {
     "@types/react-is": "^19.0.0",
diff --git a/packages/runner/package.json b/packages/runner/package.json
index 0bbdfe4ee2a3..64346c9c9ab5 100644
--- a/packages/runner/package.json
+++ b/packages/runner/package.json
@@ -43,6 +43,6 @@
   },
   "dependencies": {
     "@vitest/utils": "workspace:*",
-    "pathe": "^2.0.3"
+    "pathe": "catalog:"
   }
 }
diff --git a/packages/snapshot/package.json b/packages/snapshot/package.json
index a7d35e7b7b87..98bbdec9615d 100644
--- a/packages/snapshot/package.json
+++ b/packages/snapshot/package.json
@@ -43,8 +43,8 @@
   },
   "dependencies": {
     "@vitest/pretty-format": "workspace:*",
-    "magic-string": "^0.30.17",
-    "pathe": "^2.0.3"
+    "magic-string": "catalog:",
+    "pathe": "catalog:"
   },
   "devDependencies": {
     "@types/natural-compare": "^1.4.3",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 495d57f7ebfd..9e96b46a36c1 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -49,41 +49,41 @@
   "dependencies": {
     "@vitest/utils": "workspace:*",
     "fflate": "^0.8.2",
-    "flatted": "^3.3.3",
-    "pathe": "^2.0.3",
-    "sirv": "^3.0.1",
-    "tinyglobby": "^0.2.12",
-    "tinyrainbow": "^2.0.0"
+    "flatted": "catalog:",
+    "pathe": "catalog:",
+    "sirv": "catalog:",
+    "tinyglobby": "catalog:",
+    "tinyrainbow": "catalog:"
   },
   "devDependencies": {
     "@faker-js/faker": "^9.5.0",
-    "@iconify-json/carbon": "^1.2.7",
-    "@iconify-json/logos": "^1.2.4",
+    "@iconify-json/carbon": "catalog:",
+    "@iconify-json/logos": "catalog:",
     "@testing-library/vue": "^8.1.0",
     "@types/codemirror": "^5.60.15",
     "@types/d3-force": "^3.0.10",
     "@types/d3-selection": "^3.0.11",
-    "@types/ws": "^8.5.14",
-    "@unocss/reset": "^0.65.4",
-    "@vitejs/plugin-vue": "^5.2.1",
+    "@types/ws": "catalog:",
+    "@unocss/reset": "catalog:",
+    "@vitejs/plugin-vue": "catalog:",
     "@vitest/runner": "workspace:*",
     "@vitest/ws-client": "workspace:*",
     "@vue/test-utils": "^2.4.6",
-    "@vueuse/core": "^12.7.0",
+    "@vueuse/core": "catalog:",
     "ansi-to-html": "^0.7.2",
-    "birpc": "0.2.19",
+    "birpc": "catalog:",
     "codemirror": "^5.65.18",
     "codemirror-theme-vars": "^0.1.2",
     "d3-graph-controller": "^3.0.13",
     "floating-vue": "^5.2.2",
     "rollup": "^4.34.8",
     "splitpanes": "^3.1.8",
-    "unocss": "^0.65.4",
+    "unocss": "catalog:",
     "unplugin-auto-import": "^0.19.0",
-    "unplugin-vue-components": "^0.28.0",
+    "unplugin-vue-components": "catalog:",
     "vite": "^5.0.0",
     "vite-plugin-pages": "^0.32.5",
-    "vue": "^3.5.12",
+    "vue": "catalog:",
     "vue-router": "^4.5.0",
     "vue-virtual-scroller": "2.0.0-beta.8"
   }
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 00293c0338d6..c7632ab9aebb 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -66,11 +66,11 @@
   "dependencies": {
     "@vitest/pretty-format": "workspace:*",
     "loupe": "^3.1.3",
-    "tinyrainbow": "^2.0.0"
+    "tinyrainbow": "catalog:"
   },
   "devDependencies": {
-    "@jridgewell/trace-mapping": "^0.3.25",
-    "@types/estree": "^1.0.6",
+    "@jridgewell/trace-mapping": "catalog:",
+    "@types/estree": "catalog:",
     "diff-sequences": "^29.6.3",
     "tinyhighlight": "^0.3.2"
   }
diff --git a/packages/vite-node/package.json b/packages/vite-node/package.json
index 2f348aaa2530..ec9c9b2d744b 100644
--- a/packages/vite-node/package.json
+++ b/packages/vite-node/package.json
@@ -82,15 +82,15 @@
     "typecheck": "tsc --noEmit"
   },
   "dependencies": {
-    "cac": "^6.7.14",
-    "debug": "^4.4.0",
+    "cac": "catalog:",
+    "debug": "catalog:",
     "es-module-lexer": "^1.6.0",
-    "pathe": "^2.0.3",
+    "pathe": "catalog:",
     "vite": "^5.0.0 || ^6.0.0"
   },
   "devDependencies": {
-    "@jridgewell/trace-mapping": "^0.3.25",
-    "@types/debug": "^4.1.12",
-    "tinyrainbow": "^2.0.0"
+    "@jridgewell/trace-mapping": "catalog:",
+    "@types/debug": "catalog:",
+    "tinyrainbow": "catalog:"
   }
 }
diff --git a/packages/vitest/package.json b/packages/vitest/package.json
index 28876f47f774..0b5cc5388468 100644
--- a/packages/vitest/package.json
+++ b/packages/vitest/package.json
@@ -161,40 +161,40 @@
     "@vitest/snapshot": "workspace:*",
     "@vitest/spy": "workspace:*",
     "@vitest/utils": "workspace:*",
-    "chai": "^5.2.0",
-    "debug": "^4.4.0",
+    "chai": "catalog:",
+    "debug": "catalog:",
     "expect-type": "^1.1.0",
-    "magic-string": "^0.30.17",
-    "pathe": "^2.0.3",
-    "std-env": "^3.8.0",
+    "magic-string": "catalog:",
+    "pathe": "catalog:",
+    "std-env": "catalog:",
     "tinybench": "^2.9.0",
     "tinyexec": "^0.3.2",
     "tinypool": "^1.0.2",
-    "tinyrainbow": "^2.0.0",
+    "tinyrainbow": "catalog:",
     "vite": "^5.0.0 || ^6.0.0",
     "vite-node": "workspace:*",
     "why-is-node-running": "^2.3.0"
   },
   "devDependencies": {
-    "@ampproject/remapping": "^2.3.0",
+    "@ampproject/remapping": "catalog:",
     "@antfu/install-pkg": "^1.0.0",
     "@edge-runtime/vm": "^5.0.0",
     "@sinonjs/fake-timers": "14.0.0",
-    "@types/debug": "^4.1.12",
-    "@types/estree": "^1.0.6",
-    "@types/istanbul-lib-coverage": "^2.0.6",
-    "@types/istanbul-reports": "^3.0.4",
+    "@types/debug": "catalog:",
+    "@types/estree": "catalog:",
+    "@types/istanbul-lib-coverage": "catalog:",
+    "@types/istanbul-reports": "catalog:",
     "@types/jsdom": "^21.1.7",
     "@types/micromatch": "^4.0.9",
     "@types/node": "^22.13.5",
     "@types/prompts": "^2.4.9",
     "@types/sinonjs__fake-timers": "^8.1.5",
-    "acorn-walk": "^8.3.4",
-    "birpc": "0.2.19",
-    "cac": "^6.7.14",
+    "acorn-walk": "catalog:",
+    "birpc": "catalog:",
+    "cac": "catalog:",
     "chai-subset": "^1.6.0",
     "find-up": "^6.3.0",
-    "flatted": "^3.3.3",
+    "flatted": "catalog:",
     "get-tsconfig": "^4.10.0",
     "happy-dom": "^17.1.4",
     "jsdom": "^26.0.0",
@@ -203,7 +203,7 @@
     "pretty-format": "^29.7.0",
     "prompts": "^2.4.2",
     "strip-literal": "^3.0.0",
-    "tinyglobby": "^0.2.12",
-    "ws": "^8.18.1"
+    "tinyglobby": "catalog:",
+    "ws": "catalog:"
   }
 }
diff --git a/packages/web-worker/package.json b/packages/web-worker/package.json
index 71e8565305f0..5b3c89f7205f 100644
--- a/packages/web-worker/package.json
+++ b/packages/web-worker/package.json
@@ -41,10 +41,10 @@
     "vitest": "workspace:*"
   },
   "dependencies": {
-    "debug": "^4.4.0"
+    "debug": "catalog:"
   },
   "devDependencies": {
-    "@types/debug": "^4.1.12",
+    "@types/debug": "catalog:",
     "@types/ungap__structured-clone": "^1.2.0",
     "@ungap/structured-clone": "^1.3.0"
   }
diff --git a/packages/ws-client/package.json b/packages/ws-client/package.json
index 5678bfe98bf4..74d236aa296f 100644
--- a/packages/ws-client/package.json
+++ b/packages/ws-client/package.json
@@ -38,9 +38,9 @@
     "typecheck": "tsc --noEmit"
   },
   "dependencies": {
-    "birpc": "0.2.19",
-    "flatted": "^3.3.3",
-    "ws": "^8.18.1"
+    "birpc": "catalog:",
+    "flatted": "catalog:",
+    "ws": "catalog:"
   },
   "devDependencies": {
     "@vitest/runner": "workspace:*"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7083c5ae86ce..60fd75ca5879 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,123 @@ settings:
   autoInstallPeers: true
   excludeLinksFromLockfile: false
 
+catalogs:
+  default:
+    '@ampproject/remapping':
+      specifier: ^2.3.0
+      version: 2.3.0
+    '@iconify-json/carbon':
+      specifier: ^1.2.7
+      version: 1.2.7
+    '@iconify-json/logos':
+      specifier: ^1.2.4
+      version: 1.2.4
+    '@jridgewell/trace-mapping':
+      specifier: ^0.3.25
+      version: 0.3.25
+    '@types/debug':
+      specifier: ^4.1.12
+      version: 4.1.12
+    '@types/estree':
+      specifier: ^1.0.6
+      version: 1.0.6
+    '@types/istanbul-lib-coverage':
+      specifier: ^2.0.6
+      version: 2.0.6
+    '@types/istanbul-lib-report':
+      specifier: ^3.0.3
+      version: 3.0.3
+    '@types/istanbul-lib-source-maps':
+      specifier: ^4.0.4
+      version: 4.0.4
+    '@types/istanbul-reports':
+      specifier: ^3.0.4
+      version: 3.0.4
+    '@types/test-exclude':
+      specifier: ^6.0.2
+      version: 6.0.2
+    '@types/ws':
+      specifier: ^8.5.14
+      version: 8.5.14
+    '@unocss/reset':
+      specifier: ^0.65.4
+      version: 0.65.4
+    '@vitejs/plugin-vue':
+      specifier: ^5.2.1
+      version: 5.2.1
+    '@vueuse/core':
+      specifier: ^12.7.0
+      version: 12.7.0
+    acorn-walk:
+      specifier: ^8.3.4
+      version: 8.3.4
+    birpc:
+      specifier: 0.2.19
+      version: 0.2.19
+    cac:
+      specifier: ^6.7.14
+      version: 6.7.14
+    chai:
+      specifier: ^5.2.0
+      version: 5.2.0
+    debug:
+      specifier: ^4.4.0
+      version: 4.4.0
+    flatted:
+      specifier: ^3.3.3
+      version: 3.3.3
+    istanbul-lib-coverage:
+      specifier: ^3.2.2
+      version: 3.2.2
+    istanbul-lib-report:
+      specifier: ^3.0.1
+      version: 3.0.1
+    istanbul-lib-source-maps:
+      specifier: ^5.0.6
+      version: 5.0.6
+    istanbul-reports:
+      specifier: ^3.1.7
+      version: 3.1.7
+    magic-string:
+      specifier: ^0.30.17
+      version: 0.30.17
+    magicast:
+      specifier: ^0.3.5
+      version: 0.3.5
+    msw:
+      specifier: ^2.7.3
+      version: 2.7.3
+    pathe:
+      specifier: ^2.0.3
+      version: 2.0.3
+    sirv:
+      specifier: ^3.0.1
+      version: 3.0.1
+    std-env:
+      specifier: ^3.8.0
+      version: 3.8.0
+    test-exclude:
+      specifier: ^7.0.1
+      version: 7.0.1
+    tinyglobby:
+      specifier: ^0.2.12
+      version: 0.2.12
+    tinyrainbow:
+      specifier: ^2.0.0
+      version: 2.0.0
+    unocss:
+      specifier: ^0.65.4
+      version: 0.65.4
+    unplugin-vue-components:
+      specifier: ^0.28.0
+      version: 0.28.0
+    vue:
+      specifier: 3.5.12
+      version: 3.5.12
+    ws:
+      specifier: ^8.18.1
+      version: 8.18.1
+
 overrides:
   '@vitest/browser': workspace:*
   '@vitest/ui': workspace:*
@@ -134,17 +251,17 @@ importers:
   docs:
     dependencies:
       '@vueuse/core':
-        specifier: ^12.7.0
+        specifier: 'catalog:'
         version: 12.7.0(typescript@5.7.3)
       vue:
-        specifier: ^3.5.12
+        specifier: 'catalog:'
         version: 3.5.12(typescript@5.7.3)
     devDependencies:
       '@iconify-json/carbon':
-        specifier: ^1.2.7
+        specifier: 'catalog:'
         version: 1.2.7
       '@iconify-json/logos':
-        specifier: ^1.2.4
+        specifier: 'catalog:'
         version: 1.2.4
       '@shikijs/transformers':
         specifier: ^3.0.0
@@ -153,7 +270,7 @@ importers:
         specifier: ^3.0.0
         version: 3.0.0(typescript@5.7.3)
       '@unocss/reset':
-        specifier: ^0.65.4
+        specifier: 'catalog:'
         version: 0.65.4
       '@vite-pwa/assets-generator':
         specifier: ^0.2.6
@@ -162,19 +279,19 @@ importers:
         specifier: ^0.5.3
         version: 0.5.3(@vite-pwa/assets-generator@0.2.6)(vite-plugin-pwa@0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.3)(yaml@2.7.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))
       '@vitejs/plugin-vue':
-        specifier: ^5.2.1
+        specifier: 'catalog:'
         version: 5.2.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.12(typescript@5.7.3))
       https-localhost:
         specifier: ^4.7.1
         version: 4.7.1
       tinyglobby:
-        specifier: ^0.2.12
+        specifier: 'catalog:'
         version: 0.2.12
       unocss:
-        specifier: ^0.65.4
+        specifier: 'catalog:'
         version: 0.65.4(postcss@8.5.3)(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.12(typescript@5.7.3))
       unplugin-vue-components:
-        specifier: ^0.28.0
+        specifier: 'catalog:'
         version: 0.28.0(@babel/parser@7.26.2)(rollup@4.34.8)(vue@3.5.12(typescript@5.7.3))
       vite:
         specifier: ^6.2.0
@@ -367,26 +484,26 @@ importers:
         specifier: workspace:*
         version: link:../utils
       magic-string:
-        specifier: ^0.30.17
+        specifier: 'catalog:'
         version: 0.30.17
       msw:
-        specifier: ^2.7.3
+        specifier: 'catalog:'
         version: 2.7.3(@types/node@22.13.5)(typescript@5.7.3)
       sirv:
-        specifier: ^3.0.1
+        specifier: 'catalog:'
         version: 3.0.1
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
       ws:
-        specifier: ^8.18.1
+        specifier: 'catalog:'
         version: 8.18.1
     devDependencies:
       '@testing-library/jest-dom':
         specifier: ^6.6.3
         version: 6.6.3
       '@types/ws':
-        specifier: ^8.5.14
+        specifier: 'catalog:'
         version: 8.5.14
       '@vitest/runner':
         specifier: workspace:*
@@ -404,10 +521,10 @@ importers:
         specifier: ^9.9.0
         version: 9.9.0
       birpc:
-        specifier: 0.2.19
+        specifier: 'catalog:'
         version: 0.2.19
       flatted:
-        specifier: ^3.3.3
+        specifier: 'catalog:'
         version: 3.3.3
       ivya:
         specifier: ^1.1.1
@@ -416,7 +533,7 @@ importers:
         specifier: ^4.0.6
         version: 4.0.6
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
       periscopic:
         specifier: ^4.0.2
@@ -443,56 +560,56 @@ importers:
         specifier: ^0.1.3
         version: 0.1.3
       debug:
-        specifier: ^4.4.0
+        specifier: 'catalog:'
         version: 4.4.0
       istanbul-lib-coverage:
-        specifier: ^3.2.2
+        specifier: 'catalog:'
         version: 3.2.2
       istanbul-lib-instrument:
         specifier: ^6.0.3
         version: 6.0.3
       istanbul-lib-report:
-        specifier: ^3.0.1
+        specifier: 'catalog:'
         version: 3.0.1
       istanbul-lib-source-maps:
-        specifier: ^5.0.6
+        specifier: 'catalog:'
         version: 5.0.6
       istanbul-reports:
-        specifier: ^3.1.7
+        specifier: 'catalog:'
         version: 3.1.7
       magicast:
-        specifier: ^0.3.5
+        specifier: 'catalog:'
         version: 0.3.5
       test-exclude:
-        specifier: ^7.0.1
+        specifier: 'catalog:'
         version: 7.0.1
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
     devDependencies:
       '@types/debug':
-        specifier: ^4.1.12
+        specifier: 'catalog:'
         version: 4.1.12
       '@types/istanbul-lib-coverage':
-        specifier: ^2.0.6
+        specifier: 'catalog:'
         version: 2.0.6
       '@types/istanbul-lib-instrument':
         specifier: ^1.7.7
         version: 1.7.7
       '@types/istanbul-lib-report':
-        specifier: ^3.0.3
+        specifier: 'catalog:'
         version: 3.0.3
       '@types/istanbul-lib-source-maps':
-        specifier: ^4.0.4
+        specifier: 'catalog:'
         version: 4.0.4
       '@types/istanbul-reports':
-        specifier: ^3.0.4
+        specifier: 'catalog:'
         version: 3.0.4
       '@types/test-exclude':
-        specifier: ^6.0.2
+        specifier: 'catalog:'
         version: 6.0.2
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
       vitest:
         specifier: workspace:*
@@ -501,65 +618,65 @@ importers:
   packages/coverage-v8:
     dependencies:
       '@ampproject/remapping':
-        specifier: ^2.3.0
+        specifier: 'catalog:'
         version: 2.3.0
       '@bcoe/v8-coverage':
         specifier: ^1.0.2
         version: 1.0.2
       debug:
-        specifier: ^4.4.0
+        specifier: 'catalog:'
         version: 4.4.0
       istanbul-lib-coverage:
-        specifier: ^3.2.2
+        specifier: 'catalog:'
         version: 3.2.2
       istanbul-lib-report:
-        specifier: ^3.0.1
+        specifier: 'catalog:'
         version: 3.0.1
       istanbul-lib-source-maps:
-        specifier: ^5.0.6
+        specifier: 'catalog:'
         version: 5.0.6
       istanbul-reports:
-        specifier: ^3.1.7
+        specifier: 'catalog:'
         version: 3.1.7
       magic-string:
-        specifier: ^0.30.17
+        specifier: 'catalog:'
         version: 0.30.17
       magicast:
-        specifier: ^0.3.5
+        specifier: 'catalog:'
         version: 0.3.5
       std-env:
-        specifier: ^3.8.0
+        specifier: 'catalog:'
         version: 3.8.0
       test-exclude:
-        specifier: ^7.0.1
+        specifier: 'catalog:'
         version: 7.0.1
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
     devDependencies:
       '@types/debug':
-        specifier: ^4.1.12
+        specifier: 'catalog:'
         version: 4.1.12
       '@types/istanbul-lib-coverage':
-        specifier: ^2.0.6
+        specifier: 'catalog:'
         version: 2.0.6
       '@types/istanbul-lib-report':
-        specifier: ^3.0.3
+        specifier: 'catalog:'
         version: 3.0.3
       '@types/istanbul-lib-source-maps':
-        specifier: ^4.0.4
+        specifier: 'catalog:'
         version: 4.0.4
       '@types/istanbul-reports':
-        specifier: ^3.0.4
+        specifier: 'catalog:'
         version: 3.0.4
       '@types/test-exclude':
-        specifier: ^6.0.2
+        specifier: 'catalog:'
         version: 6.0.2
       '@vitest/browser':
         specifier: workspace:*
         version: link:../browser
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
       v8-to-istanbul:
         specifier: ^9.3.0
@@ -580,10 +697,10 @@ importers:
         specifier: workspace:*
         version: link:../utils
       chai:
-        specifier: ^5.2.0
+        specifier: 'catalog:'
         version: 5.2.0
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
     devDependencies:
       '@types/chai':
@@ -605,23 +722,23 @@ importers:
         specifier: ^3.0.3
         version: 3.0.3
       magic-string:
-        specifier: ^0.30.17
+        specifier: 'catalog:'
         version: 0.30.17
     devDependencies:
       '@types/estree':
-        specifier: ^1.0.6
+        specifier: 'catalog:'
         version: 1.0.6
       '@vitest/utils':
         specifier: workspace:*
         version: link:../utils
       acorn-walk:
-        specifier: ^8.3.4
+        specifier: 'catalog:'
         version: 8.3.4
       msw:
-        specifier: ^2.7.3
+        specifier: 'catalog:'
         version: 2.7.3(@types/node@22.13.5)(typescript@5.7.3)
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
       vite:
         specifier: ^6.2.0
@@ -630,7 +747,7 @@ importers:
   packages/pretty-format:
     dependencies:
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
     devDependencies:
       '@types/react-is':
@@ -649,7 +766,7 @@ importers:
         specifier: workspace:*
         version: link:../utils
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
 
   packages/snapshot:
@@ -658,10 +775,10 @@ importers:
         specifier: workspace:*
         version: link:../pretty-format
       magic-string:
-        specifier: ^0.30.17
+        specifier: 'catalog:'
         version: 0.30.17
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
     devDependencies:
       '@types/natural-compare':
@@ -689,19 +806,19 @@ importers:
         specifier: ^0.8.2
         version: 0.8.2
       flatted:
-        specifier: ^3.3.3
+        specifier: 'catalog:'
         version: 3.3.3
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
       sirv:
-        specifier: ^3.0.1
+        specifier: 'catalog:'
         version: 3.0.1
       tinyglobby:
-        specifier: ^0.2.12
+        specifier: 'catalog:'
         version: 0.2.12
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
       vitest:
         specifier: workspace:*
@@ -711,10 +828,10 @@ importers:
         specifier: ^9.5.0
         version: 9.5.0
       '@iconify-json/carbon':
-        specifier: ^1.2.7
+        specifier: 'catalog:'
         version: 1.2.7
       '@iconify-json/logos':
-        specifier: ^1.2.4
+        specifier: 'catalog:'
         version: 1.2.4
       '@testing-library/vue':
         specifier: ^8.1.0
@@ -729,13 +846,13 @@ importers:
         specifier: ^3.0.11
         version: 3.0.11
       '@types/ws':
-        specifier: ^8.5.14
+        specifier: 'catalog:'
         version: 8.5.14
       '@unocss/reset':
-        specifier: ^0.65.4
+        specifier: 'catalog:'
         version: 0.65.4
       '@vitejs/plugin-vue':
-        specifier: ^5.2.1
+        specifier: 'catalog:'
         version: 5.2.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.12(typescript@5.7.3))
       '@vitest/runner':
         specifier: workspace:*
@@ -747,13 +864,13 @@ importers:
         specifier: ^2.4.6
         version: 2.4.6
       '@vueuse/core':
-        specifier: ^12.7.0
+        specifier: 'catalog:'
         version: 12.7.0(typescript@5.7.3)
       ansi-to-html:
         specifier: ^0.7.2
         version: 0.7.2
       birpc:
-        specifier: 0.2.19
+        specifier: 'catalog:'
         version: 0.2.19
       codemirror:
         specifier: ^5.65.18
@@ -774,13 +891,13 @@ importers:
         specifier: ^3.1.8
         version: 3.1.8(vue@3.5.12(typescript@5.7.3))
       unocss:
-        specifier: ^0.65.4
+        specifier: 'catalog:'
         version: 0.65.4(postcss@8.5.3)(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.12(typescript@5.7.3))
       unplugin-auto-import:
         specifier: ^0.19.0
         version: 0.19.0(@vueuse/core@12.7.0(typescript@5.7.3))(rollup@4.34.8)
       unplugin-vue-components:
-        specifier: ^0.28.0
+        specifier: 'catalog:'
         version: 0.28.0(@babel/parser@7.26.2)(rollup@4.34.8)(vue@3.5.12(typescript@5.7.3))
       vite:
         specifier: ^6.2.0
@@ -789,7 +906,7 @@ importers:
         specifier: ^0.32.5
         version: 0.32.5(@vue/compiler-sfc@3.5.13)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.3)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.12(typescript@5.7.3)))
       vue:
-        specifier: ^3.5.12
+        specifier: 'catalog:'
         version: 3.5.12(typescript@5.7.3)
       vue-router:
         specifier: ^4.5.0
@@ -807,14 +924,14 @@ importers:
         specifier: ^3.1.3
         version: 3.1.3
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
     devDependencies:
       '@jridgewell/trace-mapping':
-        specifier: ^0.3.25
+        specifier: 'catalog:'
         version: 0.3.25
       '@types/estree':
-        specifier: ^1.0.6
+        specifier: 'catalog:'
         version: 1.0.6
       diff-sequences:
         specifier: ^29.6.3
@@ -826,29 +943,29 @@ importers:
   packages/vite-node:
     dependencies:
       cac:
-        specifier: ^6.7.14
+        specifier: 'catalog:'
         version: 6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588)
       debug:
-        specifier: ^4.4.0
+        specifier: 'catalog:'
         version: 4.4.0
       es-module-lexer:
         specifier: ^1.6.0
         version: 1.6.0
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
       vite:
         specifier: ^6.2.0
         version: 6.2.0(@types/node@22.13.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.3)(yaml@2.7.0)
     devDependencies:
       '@jridgewell/trace-mapping':
-        specifier: ^0.3.25
+        specifier: 'catalog:'
         version: 0.3.25
       '@types/debug':
-        specifier: ^4.1.12
+        specifier: 'catalog:'
         version: 4.1.12
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
 
   packages/vitest:
@@ -881,22 +998,22 @@ importers:
         specifier: workspace:*
         version: link:../utils
       chai:
-        specifier: ^5.2.0
+        specifier: 'catalog:'
         version: 5.2.0
       debug:
-        specifier: ^4.4.0
+        specifier: 'catalog:'
         version: 4.4.0
       expect-type:
         specifier: ^1.1.0
         version: 1.1.0
       magic-string:
-        specifier: ^0.30.17
+        specifier: 'catalog:'
         version: 0.30.17
       pathe:
-        specifier: ^2.0.3
+        specifier: 'catalog:'
         version: 2.0.3
       std-env:
-        specifier: ^3.8.0
+        specifier: 'catalog:'
         version: 3.8.0
       tinybench:
         specifier: ^2.9.0
@@ -908,7 +1025,7 @@ importers:
         specifier: ^1.0.2
         version: 1.0.2
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
       vite:
         specifier: ^6.2.0
@@ -921,7 +1038,7 @@ importers:
         version: 2.3.0
     devDependencies:
       '@ampproject/remapping':
-        specifier: ^2.3.0
+        specifier: 'catalog:'
         version: 2.3.0
       '@antfu/install-pkg':
         specifier: ^1.0.0
@@ -933,16 +1050,16 @@ importers:
         specifier: 14.0.0
         version: 14.0.0(patch_hash=6f7091fcf11165157b4bfb8dde6b5b6b7697e3efd6e9b53bb4bdef442f60a278)
       '@types/debug':
-        specifier: ^4.1.12
+        specifier: 'catalog:'
         version: 4.1.12
       '@types/estree':
-        specifier: ^1.0.6
+        specifier: 'catalog:'
         version: 1.0.6
       '@types/istanbul-lib-coverage':
-        specifier: ^2.0.6
+        specifier: 'catalog:'
         version: 2.0.6
       '@types/istanbul-reports':
-        specifier: ^3.0.4
+        specifier: 'catalog:'
         version: 3.0.4
       '@types/jsdom':
         specifier: ^21.1.7
@@ -960,13 +1077,13 @@ importers:
         specifier: ^8.1.5
         version: 8.1.5(patch_hash=0218b33f433e26861380c2b90c757bde6fea871cb988083c0bd4a9a1f6c00252)
       acorn-walk:
-        specifier: ^8.3.4
+        specifier: 'catalog:'
         version: 8.3.4
       birpc:
-        specifier: 0.2.19
+        specifier: 'catalog:'
         version: 0.2.19
       cac:
-        specifier: ^6.7.14
+        specifier: 'catalog:'
         version: 6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588)
       chai-subset:
         specifier: ^1.6.0
@@ -975,7 +1092,7 @@ importers:
         specifier: ^6.3.0
         version: 6.3.0
       flatted:
-        specifier: ^3.3.3
+        specifier: 'catalog:'
         version: 3.3.3
       get-tsconfig:
         specifier: ^4.10.0
@@ -1002,23 +1119,23 @@ importers:
         specifier: ^3.0.0
         version: 3.0.0
       tinyglobby:
-        specifier: ^0.2.12
+        specifier: 'catalog:'
         version: 0.2.12
       ws:
-        specifier: ^8.18.1
+        specifier: 'catalog:'
         version: 8.18.1
 
   packages/web-worker:
     dependencies:
       debug:
-        specifier: ^4.4.0
+        specifier: 'catalog:'
         version: 4.4.0
       vitest:
         specifier: workspace:*
         version: link:../vitest
     devDependencies:
       '@types/debug':
-        specifier: ^4.1.12
+        specifier: 'catalog:'
         version: 4.1.12
       '@types/ungap__structured-clone':
         specifier: ^1.2.0
@@ -1030,13 +1147,13 @@ importers:
   packages/ws-client:
     dependencies:
       birpc:
-        specifier: 0.2.19
+        specifier: 'catalog:'
         version: 0.2.19
       flatted:
-        specifier: ^3.3.3
+        specifier: 'catalog:'
         version: 3.3.3
       ws:
-        specifier: ^8.18.1
+        specifier: 'catalog:'
         version: 8.18.1
     devDependencies:
       '@vitest/runner':
@@ -1094,7 +1211,7 @@ importers:
   test/cli:
     devDependencies:
       '@types/debug':
-        specifier: ^4.1.12
+        specifier: 'catalog:'
         version: 4.1.12
       '@types/ws':
         specifier: ^8.5.9
@@ -1151,7 +1268,7 @@ importers:
   test/core:
     devDependencies:
       '@types/debug':
-        specifier: ^4.1.12
+        specifier: 'catalog:'
         version: 4.1.12
       '@vitest/expect':
         specifier: workspace:*
@@ -1202,7 +1319,7 @@ importers:
         specifier: ^11.6.16
         version: 11.6.16
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
       tinyspy:
         specifier: ^1.0.2
@@ -1220,7 +1337,7 @@ importers:
         specifier: file:./vitest-environment-custom
         version: file:test/core/vitest-environment-custom
       vue:
-        specifier: ^3.5.12
+        specifier: 'catalog:'
         version: 3.5.12(typescript@5.7.3)
       zustand:
         specifier: ^4.1.1
@@ -1232,10 +1349,10 @@ importers:
         specifier: ^2.2.1
         version: 2.2.1
       '@types/istanbul-lib-coverage':
-        specifier: ^2.0.6
+        specifier: 'catalog:'
         version: 2.0.6
       '@types/istanbul-lib-report':
-        specifier: ^3.0.3
+        specifier: 'catalog:'
         version: 3.0.3
       '@vitejs/plugin-vue':
         specifier: latest
@@ -1262,7 +1379,7 @@ importers:
         specifier: ^3.2.0
         version: 3.2.0
       istanbul-lib-report:
-        specifier: ^3.0.1
+        specifier: 'catalog:'
         version: 3.0.1
       magic-string:
         specifier: ^0.30.12
@@ -1280,7 +1397,7 @@ importers:
         specifier: workspace:*
         version: link:../../packages/vitest
       vue:
-        specifier: ^3.5.12
+        specifier: 'catalog:'
         version: 3.5.12(typescript@5.7.3)
 
   test/dts-config:
@@ -1368,7 +1485,7 @@ importers:
         specifier: ^0.3.2
         version: 0.3.2
       tinyrainbow:
-        specifier: ^2.0.0
+        specifier: 'catalog:'
         version: 2.0.0
       vite:
         specifier: ^6.2.0
@@ -1441,7 +1558,7 @@ importers:
         specifier: ^2.2.1
         version: 2.2.1
       '@types/istanbul-lib-coverage':
-        specifier: ^2.0.6
+        specifier: 'catalog:'
         version: 2.0.6
       istanbul-lib-coverage:
         specifier: ^3.2.0
@@ -1600,9 +1717,6 @@ packages:
       svelte-eslint-parser:
         optional: true
 
-  '@antfu/install-pkg@0.4.1':
-    resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==}
-
   '@antfu/install-pkg@1.0.0':
     resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==}
 
@@ -1804,10 +1918,6 @@ packages:
     resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==}
     engines: {node: '>=6.9.0'}
 
-  '@babel/helper-string-parser@7.25.7':
-    resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==}
-    engines: {node: '>=6.9.0'}
-
   '@babel/helper-string-parser@7.25.9':
     resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
     engines: {node: '>=6.9.0'}
@@ -2305,10 +2415,6 @@ packages:
     resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==}
     engines: {node: '>=6.9.0'}
 
-  '@babel/types@7.25.7':
-    resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==}
-    engines: {node: '>=6.9.0'}
-
   '@babel/types@7.26.0':
     resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
     engines: {node: '>=6.9.0'}
@@ -2961,9 +3067,6 @@ packages:
   '@iconify/types@2.0.0':
     resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
 
-  '@iconify/utils@2.2.1':
-    resolution: {integrity: sha512-0/7J7hk4PqXmxo5PDBDxmnecw5PxklZJfNjIVG9FM0mEfVrvfudS22rYWsqVk6gR3UJ/mSYS90X4R3znXnqfNA==}
-
   '@iconify/utils@2.3.0':
     resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==}
 
@@ -7055,10 +7158,6 @@ packages:
     resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==}
     engines: {node: '>=16 || 14 >=14.17'}
 
-  minimatch@9.0.4:
-    resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
-    engines: {node: '>=16 || 14 >=14.17'}
-
   minimatch@9.0.5:
     resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
     engines: {node: '>=16 || 14 >=14.17'}
@@ -7154,11 +7253,6 @@ packages:
     resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
     engines: {node: ^18.17.0 || >=20.5.0}
 
-  nanoid@3.3.7:
-    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
-    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
-    hasBin: true
-
   nanoid@3.3.8:
     resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
     engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -7493,9 +7587,6 @@ packages:
   picocolors@1.0.0:
     resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
 
-  picocolors@1.0.1:
-    resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
-
   picocolors@1.1.1:
     resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
 
@@ -7557,14 +7648,6 @@ packages:
     resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
     engines: {node: '>=4'}
 
-  postcss@8.4.47:
-    resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
-    engines: {node: ^10 || ^12 || >=14}
-
-  postcss@8.4.49:
-    resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
-    engines: {node: ^10 || ^12 || >=14}
-
   postcss@8.5.3:
     resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
     engines: {node: ^10 || ^12 || >=14}
@@ -8146,10 +8229,6 @@ packages:
     resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
     engines: {node: '>=0.10.0'}
 
-  source-map-js@1.2.0:
-    resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
-    engines: {node: '>=0.10.0'}
-
   source-map-js@1.2.1:
     resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
     engines: {node: '>=0.10.0'}
@@ -9628,11 +9707,6 @@ snapshots:
       - typescript
       - vitest
 
-  '@antfu/install-pkg@0.4.1':
-    dependencies:
-      package-manager-detector: 0.2.9
-      tinyexec: 0.3.2
-
   '@antfu/install-pkg@1.0.0':
     dependencies:
       package-manager-detector: 0.2.8
@@ -9667,7 +9741,7 @@ snapshots:
   '@babel/code-frame@7.24.7':
     dependencies:
       '@babel/highlight': 7.24.7
-      picocolors: 1.0.1
+      picocolors: 1.1.1
 
   '@babel/code-frame@7.25.7':
     dependencies:
@@ -9746,14 +9820,14 @@ snapshots:
 
   '@babel/generator@7.24.5':
     dependencies:
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
       '@jridgewell/gen-mapping': 0.3.5
       '@jridgewell/trace-mapping': 0.3.25
       jsesc: 2.5.2
 
   '@babel/generator@7.24.7':
     dependencies:
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
       '@jridgewell/gen-mapping': 0.3.5
       '@jridgewell/trace-mapping': 0.3.25
       jsesc: 2.5.2
@@ -9841,16 +9915,16 @@ snapshots:
 
   '@babel/helper-environment-visitor@7.24.7':
     dependencies:
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
 
   '@babel/helper-function-name@7.24.7':
     dependencies:
       '@babel/template': 7.25.0
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
 
   '@babel/helper-hoist-variables@7.24.7':
     dependencies:
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
 
   '@babel/helper-member-expression-to-functions@7.25.9':
     dependencies:
@@ -9862,7 +9936,7 @@ snapshots:
   '@babel/helper-module-imports@7.24.7':
     dependencies:
       '@babel/traverse': 7.24.7
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
     transitivePeerDependencies:
       - supports-color
 
@@ -9933,7 +10007,7 @@ snapshots:
   '@babel/helper-simple-access@7.24.7':
     dependencies:
       '@babel/traverse': 7.25.3
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
     transitivePeerDependencies:
       - supports-color
 
@@ -9953,14 +10027,12 @@ snapshots:
 
   '@babel/helper-split-export-declaration@7.24.7':
     dependencies:
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
 
   '@babel/helper-string-parser@7.23.4': {}
 
   '@babel/helper-string-parser@7.24.7': {}
 
-  '@babel/helper-string-parser@7.25.7': {}
-
   '@babel/helper-string-parser@7.25.9': {}
 
   '@babel/helper-validator-identifier@7.22.20': {}
@@ -9985,14 +10057,14 @@ snapshots:
     dependencies:
       '@babel/template': 7.24.7
       '@babel/traverse': 7.24.7
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
     transitivePeerDependencies:
       - supports-color
 
   '@babel/helpers@7.24.7':
     dependencies:
       '@babel/template': 7.24.7
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
 
   '@babel/helpers@7.26.0':
     dependencies:
@@ -10023,7 +10095,7 @@ snapshots:
 
   '@babel/parser@7.25.7':
     dependencies:
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
 
   '@babel/parser@7.26.2':
     dependencies:
@@ -10510,14 +10582,14 @@ snapshots:
   '@babel/template@7.24.0':
     dependencies:
       '@babel/code-frame': 7.24.7
-      '@babel/parser': 7.25.7
-      '@babel/types': 7.25.7
+      '@babel/parser': 7.26.2
+      '@babel/types': 7.26.0
 
   '@babel/template@7.24.7':
     dependencies:
       '@babel/code-frame': 7.24.7
-      '@babel/parser': 7.25.7
-      '@babel/types': 7.25.7
+      '@babel/parser': 7.26.2
+      '@babel/types': 7.26.0
 
   '@babel/template@7.25.0':
     dependencies:
@@ -10539,8 +10611,8 @@ snapshots:
       '@babel/helper-function-name': 7.24.7
       '@babel/helper-hoist-variables': 7.24.7
       '@babel/helper-split-export-declaration': 7.24.7
-      '@babel/parser': 7.25.7
-      '@babel/types': 7.25.7
+      '@babel/parser': 7.26.2
+      '@babel/types': 7.26.0
       debug: 4.4.0
       globals: 11.12.0
     transitivePeerDependencies:
@@ -10554,8 +10626,8 @@ snapshots:
       '@babel/helper-function-name': 7.24.7
       '@babel/helper-hoist-variables': 7.24.7
       '@babel/helper-split-export-declaration': 7.24.7
-      '@babel/parser': 7.25.7
-      '@babel/types': 7.25.7
+      '@babel/parser': 7.26.2
+      '@babel/types': 7.26.0
       debug: 4.4.0
       globals: 11.12.0
     transitivePeerDependencies:
@@ -10603,12 +10675,6 @@ snapshots:
       '@babel/helper-validator-identifier': 7.25.7
       to-fast-properties: 2.0.0
 
-  '@babel/types@7.25.7':
-    dependencies:
-      '@babel/helper-string-parser': 7.25.7
-      '@babel/helper-validator-identifier': 7.25.7
-      to-fast-properties: 2.0.0
-
   '@babel/types@7.26.0':
     dependencies:
       '@babel/helper-string-parser': 7.25.9
@@ -11058,19 +11124,6 @@ snapshots:
 
   '@iconify/types@2.0.0': {}
 
-  '@iconify/utils@2.2.1':
-    dependencies:
-      '@antfu/install-pkg': 0.4.1
-      '@antfu/utils': 0.7.10
-      '@iconify/types': 2.0.0
-      debug: 4.4.0
-      globals: 15.14.0
-      kolorist: 1.8.0
-      local-pkg: 0.5.1
-      mlly: 1.7.4
-    transitivePeerDependencies:
-      - supports-color
-
   '@iconify/utils@2.3.0':
     dependencies:
       '@antfu/install-pkg': 1.0.0
@@ -11752,16 +11805,16 @@ snapshots:
 
   '@types/babel__generator@7.6.6':
     dependencies:
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
 
   '@types/babel__template@7.4.3':
     dependencies:
-      '@babel/parser': 7.25.7
-      '@babel/types': 7.25.7
+      '@babel/parser': 7.26.2
+      '@babel/types': 7.26.0
 
   '@types/babel__traverse@7.20.3':
     dependencies:
-      '@babel/types': 7.25.7
+      '@babel/types': 7.26.0
 
   '@types/braces@3.0.1': {}
 
@@ -12169,7 +12222,7 @@ snapshots:
 
   '@unocss/preset-icons@0.65.4':
     dependencies:
-      '@iconify/utils': 2.2.1
+      '@iconify/utils': 2.3.0
       '@unocss/core': 0.65.4
       ofetch: 1.4.1
     transitivePeerDependencies:
@@ -12335,7 +12388,7 @@ snapshots:
 
   '@vue/compiler-core@3.5.12':
     dependencies:
-      '@babel/parser': 7.25.7
+      '@babel/parser': 7.26.2
       '@vue/shared': 3.5.12
       entities: 4.5.0
       estree-walker: 2.0.2
@@ -12361,14 +12414,14 @@ snapshots:
 
   '@vue/compiler-sfc@3.5.12':
     dependencies:
-      '@babel/parser': 7.25.7
+      '@babel/parser': 7.26.2
       '@vue/compiler-core': 3.5.12
       '@vue/compiler-dom': 3.5.12
       '@vue/compiler-ssr': 3.5.12
       '@vue/shared': 3.5.12
       estree-walker: 2.0.2
       magic-string: 0.30.17
-      postcss: 8.4.47
+      postcss: 8.5.3
       source-map-js: 1.2.1
 
   '@vue/compiler-sfc@3.5.13':
@@ -12380,7 +12433,7 @@ snapshots:
       '@vue/shared': 3.5.13
       estree-walker: 2.0.2
       magic-string: 0.30.17
-      postcss: 8.4.49
+      postcss: 8.5.3
       source-map-js: 1.2.1
 
   '@vue/compiler-ssr@3.5.12':
@@ -12422,7 +12475,7 @@ snapshots:
     dependencies:
       '@volar/language-core': 1.10.4
       '@volar/source-map': 1.10.4
-      '@vue/compiler-dom': 3.5.12
+      '@vue/compiler-dom': 3.5.13
       '@vue/shared': 3.5.13
       computeds: 0.0.1
       minimatch: 9.0.5
@@ -15650,13 +15703,13 @@ snapshots:
 
   magicast@0.3.5:
     dependencies:
-      '@babel/parser': 7.25.7
-      '@babel/types': 7.25.7
-      source-map-js: 1.2.0
+      '@babel/parser': 7.26.2
+      '@babel/types': 7.26.0
+      source-map-js: 1.2.1
 
   make-dir@4.0.0:
     dependencies:
-      semver: 7.6.3
+      semver: 7.7.1
 
   mark.js@8.11.1: {}
 
@@ -16039,10 +16092,6 @@ snapshots:
     dependencies:
       brace-expansion: 2.0.1
 
-  minimatch@9.0.4:
-    dependencies:
-      brace-expansion: 2.0.1
-
   minimatch@9.0.5:
     dependencies:
       brace-expansion: 2.0.1
@@ -16130,8 +16179,6 @@ snapshots:
 
   mute-stream@2.0.0: {}
 
-  nanoid@3.3.7: {}
-
   nanoid@3.3.8: {}
 
   napi-build-utils@1.0.2: {}
@@ -16468,8 +16515,6 @@ snapshots:
 
   picocolors@1.0.0: {}
 
-  picocolors@1.0.1: {}
-
   picocolors@1.1.1: {}
 
   picomatch@2.3.1: {}
@@ -16534,18 +16579,6 @@ snapshots:
       cssesc: 3.0.0
       util-deprecate: 1.0.2
 
-  postcss@8.4.47:
-    dependencies:
-      nanoid: 3.3.7
-      picocolors: 1.1.1
-      source-map-js: 1.2.1
-
-  postcss@8.4.49:
-    dependencies:
-      nanoid: 3.3.7
-      picocolors: 1.1.1
-      source-map-js: 1.2.1
-
   postcss@8.5.3:
     dependencies:
       nanoid: 3.3.8
@@ -17218,8 +17251,6 @@ snapshots:
 
   source-map-js@1.0.2: {}
 
-  source-map-js@1.2.0: {}
-
   source-map-js@1.2.1: {}
 
   source-map-support@0.5.21:
@@ -17597,7 +17628,7 @@ snapshots:
     dependencies:
       '@istanbuljs/schema': 0.1.3
       glob: 10.4.1
-      minimatch: 9.0.4
+      minimatch: 9.0.5
 
   text-decoder@1.1.1:
     dependencies:
@@ -17858,7 +17889,7 @@ snapshots:
 
   unimport@3.14.5(rollup@4.34.8):
     dependencies:
-      '@rollup/pluginutils': 5.1.3(rollup@4.34.8)
+      '@rollup/pluginutils': 5.1.4(rollup@4.34.8)
       acorn: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4)
       escape-string-regexp: 5.0.0
       estree-walker: 3.0.3
@@ -17989,7 +18020,7 @@ snapshots:
       '@rollup/pluginutils': 5.1.4(rollup@4.34.8)
       chokidar: 3.6.0
       debug: 4.4.0
-      fast-glob: 3.3.2
+      fast-glob: 3.3.3
       local-pkg: 0.5.1
       magic-string: 0.30.17
       minimatch: 9.0.5
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 70b0a9eecd11..674ac652115b 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -4,3 +4,42 @@ packages:
   - examples/*
   - test/*
   - test/config/fixtures/conditions-pkg
+catalog:
+  '@ampproject/remapping': ^2.3.0
+  '@iconify-json/carbon': ^1.2.7
+  '@iconify-json/logos': ^1.2.4
+  '@jridgewell/trace-mapping': ^0.3.25
+  '@types/debug': ^4.1.12
+  '@types/estree': ^1.0.6
+  '@types/istanbul-lib-coverage': ^2.0.6
+  '@types/istanbul-lib-report': ^3.0.3
+  '@types/istanbul-lib-source-maps': ^4.0.4
+  '@types/istanbul-reports': ^3.0.4
+  '@types/test-exclude': ^6.0.2
+  '@types/ws': ^8.5.14
+  '@unocss/reset': ^0.65.4
+  '@vitejs/plugin-vue': ^5.2.1
+  '@vueuse/core': ^12.7.0
+  acorn-walk: ^8.3.4
+  birpc: 0.2.19
+  cac: ^6.7.14
+  chai: ^5.2.0
+  debug: ^4.4.0
+  flatted: ^3.3.3
+  istanbul-lib-coverage: ^3.2.2
+  istanbul-lib-report: ^3.0.1
+  istanbul-lib-source-maps: ^5.0.6
+  istanbul-reports: ^3.1.7
+  magic-string: ^0.30.17
+  magicast: ^0.3.5
+  msw: ^2.7.3
+  pathe: ^2.0.3
+  sirv: ^3.0.1
+  std-env: ^3.8.0
+  test-exclude: ^7.0.1
+  tinyglobby: ^0.2.12
+  tinyrainbow: ^2.0.0
+  unocss: ^0.65.4
+  unplugin-vue-components: ^0.28.0
+  vue: 3.5.12
+  ws: ^8.18.1
diff --git a/test/cli/package.json b/test/cli/package.json
index f558fb18d56d..7d1ac35dbb86 100644
--- a/test/cli/package.json
+++ b/test/cli/package.json
@@ -6,7 +6,7 @@
     "test": "vitest"
   },
   "devDependencies": {
-    "@types/debug": "^4.1.12",
+    "@types/debug": "catalog:",
     "@types/ws": "^8.5.9",
     "@vitejs/plugin-basic-ssl": "^1.0.2",
     "@vitest/runner": "workspace:^",
diff --git a/test/core/package.json b/test/core/package.json
index a9e779b78700..685beb1eebc5 100644
--- a/test/core/package.json
+++ b/test/core/package.json
@@ -13,7 +13,7 @@
     "collect": "vitest list"
   },
   "devDependencies": {
-    "@types/debug": "^4.1.12",
+    "@types/debug": "catalog:",
     "@vitest/expect": "workspace:*",
     "@vitest/mocker": "workspace:*",
     "@vitest/runner": "workspace:*",
@@ -30,13 +30,13 @@
     "react": "^18.3.1",
     "react-19": "npm:react@19.0.0-rc-b01722d5-20241114",
     "sweetalert2": "^11.6.16",
-    "tinyrainbow": "^2.0.0",
+    "tinyrainbow": "catalog:",
     "tinyspy": "^1.0.2",
     "url": "^0.11.0",
     "vite-node": "workspace:*",
     "vitest": "workspace:*",
     "vitest-environment-custom": "file:./vitest-environment-custom",
-    "vue": "^3.5.12",
+    "vue": "catalog:",
     "zustand": "^4.1.1"
   }
 }
diff --git a/test/coverage-test/package.json b/test/coverage-test/package.json
index 71426fb64d0a..00604b442a56 100644
--- a/test/coverage-test/package.json
+++ b/test/coverage-test/package.json
@@ -8,8 +8,8 @@
   },
   "devDependencies": {
     "@ampproject/remapping": "^2.2.1",
-    "@types/istanbul-lib-coverage": "^2.0.6",
-    "@types/istanbul-lib-report": "^3.0.3",
+    "@types/istanbul-lib-coverage": "catalog:",
+    "@types/istanbul-lib-report": "catalog:",
     "@vitejs/plugin-vue": "latest",
     "@vitest/browser": "workspace:*",
     "@vitest/coverage-istanbul": "workspace:*",
@@ -18,12 +18,12 @@
     "@vue/test-utils": "latest",
     "happy-dom": "latest",
     "istanbul-lib-coverage": "^3.2.0",
-    "istanbul-lib-report": "^3.0.1",
+    "istanbul-lib-report": "catalog:",
     "magic-string": "^0.30.12",
     "magicast": "^0.3.3",
     "unplugin-swc": "^1.4.4",
     "vite": "latest",
     "vitest": "workspace:*",
-    "vue": "^3.5.12"
+    "vue": "catalog:"
   }
 }
diff --git a/test/test-utils/package.json b/test/test-utils/package.json
index 83ea6c79cad2..d7ee279d34f1 100644
--- a/test/test-utils/package.json
+++ b/test/test-utils/package.json
@@ -8,7 +8,7 @@
   },
   "devDependencies": {
     "tinyexec": "^0.3.2",
-    "tinyrainbow": "^2.0.0",
+    "tinyrainbow": "catalog:",
     "vite": "latest",
     "vite-node": "workspace:*",
     "vitest": "workspace:*"
diff --git a/test/workspaces/package.json b/test/workspaces/package.json
index 0d51fbd555e1..b4c1d92d610b 100644
--- a/test/workspaces/package.json
+++ b/test/workspaces/package.json
@@ -9,7 +9,7 @@
   },
   "devDependencies": {
     "@ampproject/remapping": "^2.2.1",
-    "@types/istanbul-lib-coverage": "^2.0.6",
+    "@types/istanbul-lib-coverage": "catalog:",
     "istanbul-lib-coverage": "^3.2.0",
     "jsdom": "latest",
     "vitest": "workspace:*"


Reviews:
user: login: AriPerkkio
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-01T08:34:47Z
user: login: btea
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-01T08:58:38Z
user: login: AriPerkkio
body: We should probably use the same convention in each `/test/*/package.json` too? 

https://github.com/vitest-dev/vitest/blob/0c2924b7aeb7eaf1b1fa0e78d2da76a7f3197b50/test/core/package.json#L1-L42
state: CHANGES_REQUESTED
author_association: MEMBER
submitted_at: 2025-03-04T09:39:16Z
user: login: sheremet-va
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-07T13:10:30Z

Review comments:
diff_hunk: @@ -4,3 +4,42 @@ packages:
   - examples/*
   - test/*
   - test/config/fixtures/conditions-pkg
+catalog:
path: pnpm-workspace.yaml
user: login: AriPerkkio
body: Could you sort these alphabetically
created_at: 2025-03-01T08:34:46Z
author_association: MEMBER
diff_hunk: @@ -4,3 +4,42 @@ packages:
   - examples/*
   - test/*
   - test/config/fixtures/conditions-pkg
+catalog:
path: pnpm-workspace.yaml
user: login: btea
body: Done.
created_at: 2025-03-01T08:58:35Z
author_association: CONTRIBUTOR

PR comments:
user: login: netlify[bot]
created_at: 2025-03-01T00:22:07Z
body: ### <span aria-hidden="true">✅</span> Deploy Preview for *vitest-dev* ready!
Built [without sensitive environment variables](https://docs.netlify.com/configure-builds/environment-variables/#sensitive-variable-policy)

|  Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">🔨</span> Latest commit | 7d8a191eb309b47a6f736b37c9427b002355f3d1 |
|<span aria-hidden="true">🔍</span> Latest deploy log | https://app.netlify.com/sites/vitest-dev/deploys/67cad59df1cbd60008652d63 |
|<span aria-hidden="true">😎</span> Deploy Preview | [https://deploy-preview-7590--vitest-dev.netlify.app](https://deploy-preview-7590--vitest-dev.netlify.app) |
|<span aria-hidden="true">📱</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br />![QR Code](https://app.netlify.com/qr-code/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1cmwiOiJodHRwczovL2RlcGxveS1wcmV2aWV3LTc1OTAtLXZpdGVzdC1kZXYubmV0bGlmeS5hcHAifQ.D95lqQ0-tjGGB1qn2dl7GS-4yGVqCda3DajFpMhTyto)<br /><br />_Use your smartphone camera to open QR code link._</details> |
---
<!-- [vitest-dev Preview](https://deploy-preview-7590--vitest-dev.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify site configuration](https://app.netlify.com/sites/vitest-dev/configuration/notifications#deploy-webhooks)._
author_association: NONE
user: login: sheremet-va
created_at: 2025-03-03T15:15:14Z
body: Seems like CI fails because `vue` was updated in the lockfile. We need to pin the version or fix the error in coverage
author_association: MEMBER
user: login: btea
created_at: 2025-03-04T00:12:46Z
body: > Seems like CI fails because `vue` was updated in the lockfile. We need to pin the version or fix the error in coverage

Ok, I have pinned the vue version.
author_association: CONTRIBUTOR
user: login: btea
created_at: 2025-03-05T03:43:37Z
body: Some dependency versions in the test directory are inconsistent with the versions in pnpm-workspace.yaml. If they are changed to the same, it seems that CI will fail. No changes have been made for the time being.
author_association: CONTRIBUTOR
user: login: AriPerkkio
created_at: 2025-03-08T14:31:19Z
body: Looks like this broke ecosystem-ci: https://github.com/vitest-dev/vitest-ecosystem-ci/actions/runs/13738553952
author_association: MEMBER
user: login: btea
created_at: 2025-03-08T15:02:30Z
body: <del>It seems that the pnpm version used by `vitest-ecosystem-ci` does not support the catalog protocol yet. 🤔 </del>

It looks like there is this kind of problem on the pnpm side, maybe need to investigate. https://github.com/pnpm/pnpm/issues/8999
author_association: CONTRIBUTOR