]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
chore: move benchmark and local playground in to packages-private
authorEvan You <evan@vuejs.org>
Sat, 8 Feb 2025 07:44:13 +0000 (15:44 +0800)
committerEvan You <evan@vuejs.org>
Sat, 8 Feb 2025 08:12:16 +0000 (16:12 +0800)
29 files changed:
benchmark/client/vapor.ts [deleted file]
eslint.config.js
packages-private/benchmark/.gitignore [moved from benchmark/.gitignore with 100% similarity]
packages-private/benchmark/client/App.vue [moved from benchmark/client/App.vue with 94% similarity]
packages-private/benchmark/client/AppVapor.vue [new file with mode: 0644]
packages-private/benchmark/client/data.ts [moved from benchmark/client/data.ts with 96% similarity]
packages-private/benchmark/client/index.html [moved from benchmark/client/index.html with 100% similarity]
packages-private/benchmark/client/index.ts [moved from benchmark/client/index.ts with 100% similarity]
packages-private/benchmark/client/profiling.ts [moved from benchmark/client/profiling.ts with 92% similarity]
packages-private/benchmark/client/vapor.ts [new file with mode: 0644]
packages-private/benchmark/client/vdom.ts [moved from benchmark/client/vdom.ts with 100% similarity]
packages-private/benchmark/index.js [moved from benchmark/index.js with 88% similarity]
packages-private/benchmark/package.json [moved from benchmark/package.json with 97% similarity]
packages-private/benchmark/tsconfig.json [moved from benchmark/tsconfig.json with 90% similarity]
packages-private/local-playground/index.html [moved from playground/index.html with 100% similarity]
packages-private/local-playground/package.json [moved from playground/package.json with 100% similarity]
packages-private/local-playground/setup/dev.js [moved from playground/setup/dev.js with 97% similarity]
packages-private/local-playground/setup/vite.js [moved from playground/setup/vite.js with 100% similarity]
packages-private/local-playground/src/.gitignore [moved from playground/src/.gitignore with 100% similarity]
packages-private/local-playground/src/App.vue [new file with mode: 0644]
packages-private/local-playground/src/main.ts [new file with mode: 0644]
packages-private/local-playground/src/style.css [moved from playground/src/style.css with 100% similarity]
packages-private/local-playground/tsconfig.json [moved from playground/tsconfig.json with 100% similarity]
packages-private/local-playground/vite.config.ts [moved from playground/vite.config.ts with 100% similarity]
packages-private/local-playground/vite.prod.config.ts [moved from playground/vite.prod.config.ts with 100% similarity]
playground/src/App.vue [deleted file]
playground/src/main.ts [deleted file]
pnpm-lock.yaml
pnpm-workspace.yaml

diff --git a/benchmark/client/vapor.ts b/benchmark/client/vapor.ts
deleted file mode 100644 (file)
index 70f1d4b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-import { createVaporApp } from 'vue/vapor'
-import App from './App.vue'
-
-createVaporApp(App as any).mount('#app')
index 64d57dfc39db3204b03ff54b5d436818c3b9f584..384074d4c32ebcd2745f29fc88b811ae75c5986e 100644 (file)
@@ -126,7 +126,7 @@ export default tseslint.config(
     files: [
       'packages-private/template-explorer/**',
       'packages-private/sfc-playground/**',
-      'playground/**',
+      'packages-private/local-playground/**',
     ],
     rules: {
       'no-restricted-globals': ['error', ...NodeGlobals],
@@ -150,10 +150,10 @@ export default tseslint.config(
       'eslint.config.js',
       'rollup*.config.js',
       'scripts/**',
-      'benchmark/*',
       './*.{js,ts}',
       'packages/*/*.js',
       'packages/vue/*/*.js',
+      'packages-private/benchmark/*',
     ],
     rules: {
       'no-restricted-globals': 'off',
similarity index 94%
rename from benchmark/client/App.vue
rename to packages-private/benchmark/client/App.vue
index 428217aa9717572b5452a1a889e55e594897147b..f87b38440f33a14d0b2fd75da34bfd0347f52617 100644 (file)
@@ -1,10 +1,10 @@
-<script setup lang="ts" vapor>
+<script setup lang="ts">
 import {
   shallowRef,
   triggerRef,
   type ShallowRef,
-  createSelector,
-} from 'vue/vapor'
+  // createSelector,
+} from 'vue'
 import { buildData } from './data'
 import { defer, wrap } from './profiling'
 
@@ -77,7 +77,7 @@ async function bench() {
   }
 }
 
-const isSelected = createSelector(selected)
+// const isSelected = createSelector(selected)
 
 const globalThis = window
 </script>
@@ -122,7 +122,7 @@ const globalThis = window
       <tr
         v-for="row of rows"
         :key="row.id"
-        :class="{ danger: isSelected(row.id) }"
+        :class="{ danger: selected === row.id }"
       >
         <td>{{ row.id }}</td>
         <td>
diff --git a/packages-private/benchmark/client/AppVapor.vue b/packages-private/benchmark/client/AppVapor.vue
new file mode 100644 (file)
index 0000000..e418945
--- /dev/null
@@ -0,0 +1,144 @@
+<script setup vapor lang="ts">
+import {
+  shallowRef,
+  triggerRef,
+  type ShallowRef,
+  // createSelector,
+} from 'vue'
+import { buildData } from './data'
+import { defer, wrap } from './profiling'
+
+const isVapor = !!import.meta.env.IS_VAPOR
+
+const selected = shallowRef<number>()
+const rows = shallowRef<
+  {
+    id: number
+    label: ShallowRef<string>
+  }[]
+>([])
+
+// Bench Add: https://jsbench.me/45lzxprzmu/1
+const add = wrap('add', () => {
+  rows.value.push(...buildData(1000))
+  triggerRef(rows)
+})
+
+const remove = wrap('remove', (id: number) => {
+  rows.value.splice(
+    rows.value.findIndex(d => d.id === id),
+    1,
+  )
+  triggerRef(rows)
+})
+
+const select = wrap('select', (id: number) => {
+  selected.value = id
+})
+
+const run = wrap('run', () => {
+  rows.value = buildData()
+  selected.value = undefined
+})
+
+const update = wrap('update', () => {
+  const _rows = rows.value
+  for (let i = 0, len = _rows.length; i < len; i += 10) {
+    _rows[i].label.value += ' !!!'
+  }
+})
+
+const runLots = wrap('runLots', () => {
+  rows.value = buildData(10000)
+  selected.value = undefined
+})
+
+const clear = wrap('clear', () => {
+  rows.value = []
+  selected.value = undefined
+})
+
+const swapRows = wrap('swap', () => {
+  const _rows = rows.value
+  if (_rows.length > 998) {
+    const d1 = _rows[1]
+    const d998 = _rows[998]
+    _rows[1] = d998
+    _rows[998] = d1
+    triggerRef(rows)
+  }
+})
+
+async function bench() {
+  for (let i = 0; i < 30; i++) {
+    rows.value = []
+    await runLots()
+    await defer()
+  }
+}
+
+// const isSelected = createSelector(selected)
+
+const globalThis = window
+</script>
+
+<template>
+  <h1>Vue.js ({{ isVapor ? 'Vapor' : 'Virtual DOM' }}) Benchmark</h1>
+
+  <div style="display: flex; gap: 4px; margin-bottom: 4px">
+    <label>
+      <input
+        type="checkbox"
+        :value="globalThis.doProfile"
+        @change="globalThis.doProfile = $event.target.checked"
+      />
+      Profiling
+    </label>
+    <label>
+      <input
+        type="checkbox"
+        :value="globalThis.reactivity"
+        @change="globalThis.reactivity = $event.target.checked"
+      />
+      Reactivity Cost
+    </label>
+  </div>
+
+  <div
+    id="control"
+    style="display: flex; flex-direction: column; width: fit-content; gap: 6px"
+  >
+    <button @click="bench">Benchmark mounting</button>
+    <button id="run" @click="run">Create 1,000 rows</button>
+    <button id="runLots" @click="runLots">Create 10,000 rows</button>
+    <button id="add" @click="add">Append 1,000 rows</button>
+    <button id="update" @click="update">Update every 10th row</button>
+    <button id="clear" @click="clear">Clear</button>
+    <button id="swaprows" @click="swapRows">Swap Rows</button>
+  </div>
+  <div id="time"></div>
+  <table>
+    <tbody>
+      <tr
+        v-for="row of rows"
+        :key="row.id"
+        :class="{ danger: selected === row.id }"
+      >
+        <td>{{ row.id }}</td>
+        <td>
+          <a @click="select(row.id)">{{ row.label.value }}</a>
+        </td>
+        <td>
+          <button @click="remove(row.id)">x</button>
+        </td>
+        <td class="col-md-6"></td>
+      </tr>
+    </tbody>
+  </table>
+</template>
+
+<style>
+.danger {
+  background-color: red;
+}
+</style>
similarity index 96%
rename from benchmark/client/data.ts
rename to packages-private/benchmark/client/data.ts
index 2626bf134810415b72d66aec494c01e21a710eb3..ea5de1451d85d91d93a91f8c663696874f7f1f7d 100644 (file)
@@ -1,4 +1,4 @@
-import { shallowRef } from 'vue/vapor'
+import { shallowRef } from 'vue'
 
 let ID = 1
 
similarity index 92%
rename from benchmark/client/profiling.ts
rename to packages-private/benchmark/client/profiling.ts
index 82d950a0f6153fbda000ee0aebe075940be9c95e..ee4f38b6090ac3dd7ca80b17afccfb9b0c117905 100644 (file)
@@ -2,13 +2,13 @@
 /* eslint-disable no-restricted-syntax */
 /* eslint-disable no-restricted-globals */
 
-import { nextTick } from 'vue/vapor'
+import { nextTick } from 'vue'
 
-declare namespace globalThis {
-  let doProfile: boolean
-  let reactivity: boolean
-  let recordTime: boolean
-  let times: Record<string, number[]>
+declare global {
+  var doProfile: boolean
+  var reactivity: boolean
+  var recordTime: boolean
+  var times: Record<string, number[]>
 }
 
 globalThis.recordTime = true
diff --git a/packages-private/benchmark/client/vapor.ts b/packages-private/benchmark/client/vapor.ts
new file mode 100644 (file)
index 0000000..2574da9
--- /dev/null
@@ -0,0 +1,4 @@
+import { createVaporApp } from 'vue'
+import App from './AppVapor.vue'
+
+createVaporApp(App as any).mount('#app')
similarity index 88%
rename from benchmark/index.js
rename to packages-private/benchmark/index.js
index f1a37cdff7907d391eaf5e9b89b70542a54d2b3a..7841b0b2998510d615eb7ffecef4f68594bf1168 100644 (file)
@@ -8,7 +8,7 @@ import connect from 'connect'
 import sirv from 'sirv'
 import { launch } from 'puppeteer'
 import colors from 'picocolors'
-import { exec, getSha } from '../scripts/utils.js'
+import { exec, getSha } from '../../scripts/utils.js'
 import process from 'node:process'
 import readline from 'node:readline'
 
@@ -99,37 +99,34 @@ async function buildLib() {
 
   /** @type {import('node:child_process').SpawnOptions} */
   const options = {
-    cwd: path.resolve(import.meta.dirname, '..'),
+    cwd: path.resolve(import.meta.dirname, '../..'),
     stdio: 'inherit',
     env: { ...process.env, BENCHMARK: 'true' },
   }
   const buildOptions = devBuild ? '-df' : '-pf'
-  const [{ ok }, { ok: ok2 }, { ok: ok3 }, { ok: ok4 }] = await Promise.all([
+  const [{ ok }, { ok: ok2 }, { ok: ok3 }] = await Promise.all([
     exec(
       'pnpm',
-      `run --silent build shared compiler-core compiler-dom compiler-vapor ${buildOptions} cjs`.split(
+      `run --silent build shared compiler-core compiler-dom ${buildOptions} cjs`.split(
         ' ',
       ),
       options,
     ),
     exec(
       'pnpm',
-      'run --silent build compiler-sfc compiler-ssr -f cjs'.split(' '),
-      options,
-    ),
-    exec(
-      'pnpm',
-      `run --silent build vue-vapor ${buildOptions} esm-browser`.split(' '),
+      'run --silent build compiler-sfc compiler-ssr compiler-vapor -f cjs'.split(
+        ' ',
+      ),
       options,
     ),
     exec(
       'pnpm',
-      `run --silent build vue ${buildOptions} esm-browser-runtime`.split(' '),
+      `run --silent build vue ${buildOptions} vapor`.split(' '),
       options,
     ),
   ])
 
-  if (!ok || !ok2 || !ok3 || !ok4) {
+  if (!ok || !ok2 || !ok3) {
     console.error('Failed to build')
     process.exit(1)
   }
@@ -143,21 +140,15 @@ async function buildApp(isVapor) {
 
   if (!devBuild) process.env.NODE_ENV = 'production'
   const CompilerSFC = await import(
-    '../packages/compiler-sfc/dist/compiler-sfc.cjs.js'
+    '../../packages/compiler-sfc/dist/compiler-sfc.cjs.js'
   )
   const prodSuffix = devBuild ? '.js' : '.prod.js'
 
-  /** @type {any} */
-  const TemplateCompiler = await import(
-    (isVapor
-      ? '../packages/compiler-vapor/dist/compiler-vapor.cjs'
-      : '../packages/compiler-dom/dist/compiler-dom.cjs') + prodSuffix
-  )
   const runtimePath = path.resolve(
     import.meta.dirname,
     (isVapor
-      ? '../packages/vue-vapor/dist/vue-vapor.esm-browser'
-      : '../packages/vue/dist/vue.runtime.esm-browser') + prodSuffix,
+      ? '../../packages/vue/dist/vue.runtime-with-vapor.esm-browser'
+      : '../../packages/vue/dist/vue.runtime.esm-browser') + prodSuffix,
   )
 
   const mode = isVapor ? 'vapor' : 'vdom'
@@ -179,7 +170,6 @@ async function buildApp(isVapor) {
     },
     resolve: {
       alias: {
-        'vue/vapor': runtimePath,
         vue: runtimePath,
       },
     },
@@ -187,7 +177,6 @@ async function buildApp(isVapor) {
     plugins: [
       Vue({
         compiler: CompilerSFC,
-        template: { compiler: TemplateCompiler },
       }),
     ],
   })
similarity index 97%
rename from benchmark/package.json
rename to packages-private/benchmark/package.json
index 81d55005c9e713447123ef9ce216b9a0b0a3bf3a..b087cfca4bbe2bfec648d8aae6209b8009c804c4 100644 (file)
@@ -9,7 +9,7 @@
     "start": "node index.js"
   },
   "dependencies": {
-    "@vitejs/plugin-vue": "https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5",
+    "@vitejs/plugin-vue": "https://pkg.pr.new/@vitejs/plugin-vue@c156992",
     "connect": "^3.7.0",
     "sirv": "^2.0.4",
     "vite": "catalog:"
similarity index 90%
rename from benchmark/tsconfig.json
rename to packages-private/benchmark/tsconfig.json
index 535fcf20696784f29749602846660db2ef017ae4..4a32149504f987a43db8214e7454a63623dde97a 100644 (file)
@@ -17,7 +17,7 @@
     "skipLibCheck": true,
     "noEmit": true,
     "paths": {
-      "vue": ["../packages/vue/src"],
+      "vue": ["../packages/vue/src/runtime-with-vapor.ts"],
       "@vue/*": ["../packages/*/src"]
     }
   },
similarity index 97%
rename from playground/setup/dev.js
rename to packages-private/local-playground/setup/dev.js
index ab1c59e5e598201ffa6bdc240cd45211bcb587d1..72a7ed4a835c32e9d95a7c08145820366f9441b9 100644 (file)
@@ -2,7 +2,7 @@
 import path from 'node:path'
 
 const resolve = (/** @type {string} */ p) =>
-  path.resolve(import.meta.dirname, '../../packages', p)
+  path.resolve(import.meta.dirname, '../../../packages', p)
 
 /**
  * @param {Object} [env]
diff --git a/packages-private/local-playground/src/App.vue b/packages-private/local-playground/src/App.vue
new file mode 100644 (file)
index 0000000..b6124e3
--- /dev/null
@@ -0,0 +1,20 @@
+<script setup lang="ts">
+import { ref } from 'vue'
+import VaporComp from './VaporComp.vue'
+
+const msg = ref('hello')
+const passSlot = ref(true)
+</script>
+
+<template>
+  <input v-model="msg" />
+  <button @click="passSlot = !passSlot">toggle #test slot</button>
+  <VaporComp :msg="msg">
+    <template #default="{ foo }">
+      <div>slot props: {{ foo }}</div>
+      <div>component prop: {{ msg }}</div>
+    </template>
+
+    <template #test v-if="passSlot"> A test slot </template>
+  </VaporComp>
+</template>
diff --git a/packages-private/local-playground/src/main.ts b/packages-private/local-playground/src/main.ts
new file mode 100644 (file)
index 0000000..9d682d9
--- /dev/null
@@ -0,0 +1 @@
+import './_entry'
diff --git a/playground/src/App.vue b/playground/src/App.vue
deleted file mode 100644 (file)
index 5795cf4..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<script setup lang="ts" vapor>
-import Comp from './Comp.vue'
-</script>
-
-<template>
-  <h1>Vapor</h1>
-  <Comp />
-</template>
diff --git a/playground/src/main.ts b/playground/src/main.ts
deleted file mode 100644 (file)
index 39c0d6f..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-// import './_entry'
-import './interop'
index 1b14a05543a773870a18a1418d54e8b781c66027..0f5e574ff066aa7eaabde4b6725f79bff33a6077 100644 (file)
@@ -13,8 +13,8 @@ catalogs:
       specifier: ^7.25.2
       version: 7.26.0
     '@vitejs/plugin-vue':
-      specifier: ^5.1.2
-      version: 5.1.5
+      specifier: ^5.2.1
+      version: 5.2.1
     estree-walker:
       specifier: ^2.0.2
       version: 2.0.2
@@ -25,8 +25,8 @@ catalogs:
       specifier: ^1.2.0
       version: 1.2.1
     vite:
-      specifier: ^5.4.0
-      version: 5.4.8
+      specifier: ^6.1.0
+      version: 6.1.0
 
 importers:
 
@@ -178,16 +178,16 @@ importers:
         version: 8.20.0(eslint@9.18.0)(typescript@5.6.2)
       vite:
         specifier: 'catalog:'
-        version: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+        version: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
       vitest:
         specifier: ^3.0.2
-        version: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)
+        version: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
 
-  benchmark:
+  packages-private/benchmark:
     dependencies:
       '@vitejs/plugin-vue':
-        specifier: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5
-        version: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))(vue@3.5.13(typescript@5.6.2))
+        specifier: https://pkg.pr.new/@vitejs/plugin-vue@c156992
+        version: https://pkg.pr.new/@vitejs/plugin-vue@c156992(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.2))
       connect:
         specifier: ^3.7.0
         version: 3.7.0
@@ -196,7 +196,7 @@ importers:
         version: 2.0.4
       vite:
         specifier: 'catalog:'
-        version: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+        version: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
     devDependencies:
       '@types/connect':
         specifier: ^3.4.38
@@ -226,6 +226,31 @@ importers:
         specifier: workspace:*
         version: link:../../packages/vue
 
+  packages-private/local-playground:
+    dependencies:
+      '@vueuse/core':
+        specifier: ^11.1.0
+        version: 11.1.0(vue@packages+vue)
+      vue:
+        specifier: workspace:*
+        version: link:../../packages/vue
+    devDependencies:
+      '@vitejs/plugin-vue':
+        specifier: https://pkg.pr.new/@vitejs/plugin-vue@c156992
+        version: https://pkg.pr.new/@vitejs/plugin-vue@c156992(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))(vue@packages+vue)
+      '@vue/compiler-sfc':
+        specifier: workspace:*
+        version: link:../../packages/compiler-sfc
+      vite:
+        specifier: 'catalog:'
+        version: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
+      vite-hyper-config:
+        specifier: ^0.4.0
+        version: 0.4.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))
+      vite-plugin-inspect:
+        specifier: ^0.8.7
+        version: 0.8.7(rollup@4.31.0)(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))
+
   packages-private/sfc-playground:
     dependencies:
       '@vue/repl':
@@ -243,10 +268,10 @@ importers:
     devDependencies:
       '@vitejs/plugin-vue':
         specifier: 'catalog:'
-        version: 5.1.5(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))(vue@packages+vue)
+        version: 5.2.1(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))(vue@packages+vue)
       vite:
         specifier: 'catalog:'
-        version: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+        version: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
 
   packages-private/template-explorer:
     dependencies:
@@ -264,10 +289,10 @@ importers:
     devDependencies:
       '@vitejs/plugin-vue':
         specifier: 'catalog:'
-        version: 5.1.5(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))(vue@packages+vue)
+        version: 5.2.1(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))(vue@packages+vue)
       vite:
         specifier: 'catalog:'
-        version: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+        version: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
       vue:
         specifier: workspace:*
         version: link:../../packages/vue
@@ -496,31 +521,6 @@ importers:
         specifier: workspace:*
         version: link:../vue
 
-  playground:
-    dependencies:
-      '@vueuse/core':
-        specifier: ^11.1.0
-        version: 11.1.0(vue@packages+vue)
-      vue:
-        specifier: workspace:*
-        version: link:../packages/vue
-    devDependencies:
-      '@vitejs/plugin-vue':
-        specifier: https://pkg.pr.new/@vitejs/plugin-vue@c156992
-        version: https://pkg.pr.new/@vitejs/plugin-vue@c156992(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))(vue@packages+vue)
-      '@vue/compiler-sfc':
-        specifier: workspace:*
-        version: link:../packages/compiler-sfc
-      vite:
-        specifier: 'catalog:'
-        version: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
-      vite-hyper-config:
-        specifier: ^0.4.0
-        version: 0.4.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))
-      vite-plugin-inspect:
-        specifier: ^0.8.7
-        version: 0.8.7(rollup@4.31.0)(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))
-
 packages:
 
   '@ampproject/remapping@2.3.0':
@@ -1427,11 +1427,11 @@ packages:
     resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@vitejs/plugin-vue@5.1.5':
-    resolution: {integrity: sha512-dlnib73G05CDBAUR/YpuZcQQ47fpjihnnNouAAqN62z+oqSsWJ+kh52GRzIxpkgFG3q11eXK7Di7RMmoCwISZA==}
+  '@vitejs/plugin-vue@5.2.1':
+    resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==}
     engines: {node: ^18.0.0 || >=20.0.0}
     peerDependencies:
-      vite: ^5.0.0
+      vite: ^5.0.0 || ^6.0.0
       vue: ^3.2.25
 
   '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@c156992':
@@ -1442,14 +1442,6 @@ packages:
       vite: ^5.0.0 || ^6.0.0
       vue: ^3.2.25
 
-  '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5':
-    resolution: {tarball: https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5}
-    version: 5.1.4
-    engines: {node: ^18.0.0 || >=20.0.0}
-    peerDependencies:
-      vite: ^5.0.0
-      vue: ^3.2.25
-
   '@vitest/coverage-v8@3.0.2':
     resolution: {integrity: sha512-U+hZYb0FtgNDb6B3E9piAHzXXIuxuBw2cd6Lvepc9sYYY4KjgiwCBmo3Sird9ZRu3ggLpLBTfw1ZRr77ipiSfw==}
     peerDependencies:
@@ -1983,15 +1975,6 @@ packages:
       supports-color:
         optional: true
 
-  debug@4.3.7:
-    resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
-    engines: {node: '>=6.0'}
-    peerDependencies:
-      supports-color: '*'
-    peerDependenciesMeta:
-      supports-color:
-        optional: true
-
   debug@4.4.0:
     resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
     engines: {node: '>=6.0'}
@@ -3036,9 +3019,6 @@ packages:
   perfect-debounce@1.0.0:
     resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
 
-  picocolors@1.1.0:
-    resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
-
   picocolors@1.1.1:
     resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
 
@@ -3716,6 +3696,46 @@ packages:
       terser:
         optional: true
 
+  vite@6.1.0:
+    resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==}
+    engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+    hasBin: true
+    peerDependencies:
+      '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+      jiti: '>=1.21.0'
+      less: '*'
+      lightningcss: ^1.21.0
+      sass: '*'
+      sass-embedded: '*'
+      stylus: '*'
+      sugarss: '*'
+      terser: ^5.16.0
+      tsx: ^4.8.1
+      yaml: ^2.4.2
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+      jiti:
+        optional: true
+      less:
+        optional: true
+      lightningcss:
+        optional: true
+      sass:
+        optional: true
+      sass-embedded:
+        optional: true
+      stylus:
+        optional: true
+      sugarss:
+        optional: true
+      terser:
+        optional: true
+      tsx:
+        optional: true
+      yaml:
+        optional: true
+
   vitest@3.0.2:
     resolution: {integrity: sha512-5bzaHakQ0hmVVKLhfh/jXf6oETDBtgPo8tQCHYB+wftNgFJ+Hah67IsWc8ivx4vFL025Ow8UiuTf4W57z4izvQ==}
     engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
@@ -4588,20 +4608,20 @@ snapshots:
       '@typescript-eslint/types': 8.20.0
       eslint-visitor-keys: 4.2.0
 
-  '@vitejs/plugin-vue@5.1.5(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))(vue@packages+vue)':
+  '@vitejs/plugin-vue@5.2.1(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))(vue@packages+vue)':
     dependencies:
-      vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
       vue: link:packages/vue
 
-  '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@c156992(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))(vue@packages+vue)':
+  '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@c156992(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.2))':
     dependencies:
-      vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
-      vue: link:packages/vue
+      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
+      vue: 3.5.13(typescript@5.6.2)
 
-  '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@e3c5ce5(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))(vue@3.5.13(typescript@5.6.2))':
+  '@vitejs/plugin-vue@https://pkg.pr.new/@vitejs/plugin-vue@c156992(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))(vue@packages+vue)':
     dependencies:
-      vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
-      vue: 3.5.13(typescript@5.6.2)
+      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
+      vue: link:packages/vue
 
   '@vitest/coverage-v8@3.0.2(vitest@3.0.2)':
     dependencies:
@@ -4617,7 +4637,7 @@ snapshots:
       std-env: 3.8.0
       test-exclude: 7.0.1
       tinyrainbow: 2.0.0
-      vitest: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)
+      vitest: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
     transitivePeerDependencies:
       - supports-color
 
@@ -4627,7 +4647,7 @@ snapshots:
       eslint: 9.18.0
     optionalDependencies:
       typescript: 5.6.2
-      vitest: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)
+      vitest: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
 
   '@vitest/expect@3.0.2':
     dependencies:
@@ -4636,13 +4656,13 @@ snapshots:
       chai: 5.1.2
       tinyrainbow: 2.0.0
 
-  '@vitest/mocker@3.0.2(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))':
+  '@vitest/mocker@3.0.2(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))':
     dependencies:
       '@vitest/spy': 3.0.2
       estree-walker: 3.0.3
       magic-string: 0.30.17
     optionalDependencies:
-      vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
 
   '@vitest/pretty-format@3.0.2':
     dependencies:
@@ -4676,7 +4696,7 @@ snapshots:
       sirv: 3.0.0
       tinyglobby: 0.2.10
       tinyrainbow: 2.0.0
-      vitest: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)
+      vitest: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
 
   '@vitest/utils@3.0.2':
     dependencies:
@@ -5194,10 +5214,6 @@ snapshots:
     dependencies:
       ms: 2.1.2
 
-  debug@4.3.7:
-    dependencies:
-      ms: 2.1.3
-
   debug@4.4.0:
     dependencies:
       ms: 2.1.3
@@ -6288,8 +6304,6 @@ snapshots:
 
   perfect-debounce@1.0.0: {}
 
-  picocolors@1.1.0: {}
-
   picocolors@1.1.1: {}
 
   picomatch@2.3.1: {}
@@ -6972,11 +6986,11 @@ snapshots:
 
   vary@1.1.2: {}
 
-  vite-hyper-config@0.4.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)):
+  vite-hyper-config@0.4.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)):
     dependencies:
       cac: 6.7.14
-      picocolors: 1.1.0
-      vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+      picocolors: 1.1.1
+      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
       vite-node: 2.1.1(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
     transitivePeerDependencies:
       - '@types/node'
@@ -6992,7 +7006,7 @@ snapshots:
   vite-node@2.1.1(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0):
     dependencies:
       cac: 6.7.14
-      debug: 4.3.6
+      debug: 4.4.0
       pathe: 1.1.2
       vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
     transitivePeerDependencies:
@@ -7006,15 +7020,16 @@ snapshots:
       - supports-color
       - terser
 
-  vite-node@3.0.2(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0):
+  vite-node@3.0.2(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1):
     dependencies:
       cac: 6.7.14
       debug: 4.4.0
       es-module-lexer: 1.6.0
       pathe: 2.0.2
-      vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
     transitivePeerDependencies:
       - '@types/node'
+      - jiti
       - less
       - lightningcss
       - sass
@@ -7023,19 +7038,21 @@ snapshots:
       - sugarss
       - supports-color
       - terser
+      - tsx
+      - yaml
 
-  vite-plugin-inspect@0.8.7(rollup@4.31.0)(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)):
+  vite-plugin-inspect@0.8.7(rollup@4.31.0)(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)):
     dependencies:
       '@antfu/utils': 0.7.10
       '@rollup/pluginutils': 5.1.0(rollup@4.31.0)
-      debug: 4.3.7
+      debug: 4.4.0
       error-stack-parser-es: 0.1.5
       fs-extra: 11.2.0
       open: 10.1.0
       perfect-debounce: 1.0.0
-      picocolors: 1.1.0
+      picocolors: 1.1.1
       sirv: 2.0.4
-      vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
     transitivePeerDependencies:
       - rollup
       - supports-color
@@ -7051,10 +7068,22 @@ snapshots:
       sass: 1.83.4
       terser: 5.33.0
 
-  vitest@3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0):
+  vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1):
+    dependencies:
+      esbuild: 0.24.2
+      postcss: 8.5.1
+      rollup: 4.31.0
+    optionalDependencies:
+      '@types/node': 22.10.7
+      fsevents: 2.3.3
+      sass: 1.83.4
+      terser: 5.33.0
+      yaml: 2.6.1
+
+  vitest@3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1):
     dependencies:
       '@vitest/expect': 3.0.2
-      '@vitest/mocker': 3.0.2(vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0))
+      '@vitest/mocker': 3.0.2(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))
       '@vitest/pretty-format': 3.0.2
       '@vitest/runner': 3.0.2
       '@vitest/snapshot': 3.0.2
@@ -7070,14 +7099,15 @@ snapshots:
       tinyexec: 0.3.2
       tinypool: 1.0.2
       tinyrainbow: 2.0.0
-      vite: 5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
-      vite-node: 3.0.2(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)
+      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
+      vite-node: 3.0.2(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
       why-is-node-running: 2.3.0
     optionalDependencies:
       '@types/node': 22.10.7
       '@vitest/ui': 3.0.4(vitest@3.0.2)
       jsdom: 26.0.0
     transitivePeerDependencies:
+      - jiti
       - less
       - lightningcss
       - msw
@@ -7087,6 +7117,8 @@ snapshots:
       - sugarss
       - supports-color
       - terser
+      - tsx
+      - yaml
 
   void-elements@3.1.0: {}
 
index d01dbb0480c8d9d5774e3d987fad62a1760569e5..c33fbb43b72ef6494e486e4fff9b5f7f9888470c 100644 (file)
@@ -1,8 +1,6 @@
 packages:
   - 'packages/*'
   - 'packages-private/*'
-  - playground
-  - benchmark
 
 catalog:
   '@babel/parser': ^7.25.3
@@ -10,5 +8,5 @@ catalog:
   'estree-walker': ^2.0.2
   'magic-string': ^0.30.11
   'source-map-js': ^1.2.0
-  'vite': ^5.4.0
-  '@vitejs/plugin-vue': ^5.1.2
+  'vite': ^6.1.0
+  '@vitejs/plugin-vue': ^5.2.1