From 26b05d770d5ed5b0d5b9970f5fcf64514677df48 Mon Sep 17 00:00:00 2001 From: arlo Date: Thu, 6 Nov 2025 21:27:00 +0800 Subject: [PATCH 1/4] feat(vite): cache rpc response --- packages/vite/src/app/composables/rpc.ts | 10 ++ pnpm-lock.yaml | 219 ++++------------------- pnpm-workspace.yaml | 2 +- 3 files changed, 43 insertions(+), 188 deletions(-) diff --git a/packages/vite/src/app/composables/rpc.ts b/packages/vite/src/app/composables/rpc.ts index 065110c4..00719715 100644 --- a/packages/vite/src/app/composables/rpc.ts +++ b/packages/vite/src/app/composables/rpc.ts @@ -14,6 +14,7 @@ export const connectionState = reactive<{ }) const rpc = shallowRef>(undefined!) +const responseCacheMap = new Map() export async function connect() { const runtimeConfig = useRuntimeConfig() @@ -40,6 +41,15 @@ export async function connect() { connectionState.error = e console.error(`[vite-devtools] RPC error on executing "${name}":`) }, + onRequest: async (req, next, resolve) => { + const cacheKey = `${req.m}-${JSON.stringify(req.a)}` + if (responseCacheMap.has(cacheKey)) { + resolve(responseCacheMap.get(cacheKey)) + } + else { + responseCacheMap.set(cacheKey, await next(req)) + } + }, }, }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1bfbc4c0..56c1f91f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,8 +41,8 @@ catalogs: specifier: ^4.2.0 version: 4.2.0 birpc: - specifier: ^2.6.1 - version: 2.6.1 + specifier: ^2.7.0 + version: 2.7.0 cac: specifier: ^6.7.14 version: 6.7.14 @@ -522,7 +522,7 @@ importers: version: link:../rpc birpc: specifier: catalog:deps - version: 2.6.1 + version: 2.7.0 vite: specifier: npm:rolldown-vite@^7.1.20 version: rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) @@ -535,7 +535,7 @@ importers: dependencies: birpc: specifier: catalog:deps - version: 2.6.1 + version: 2.7.0 structured-clone-es: specifier: catalog:deps version: 1.0.0 @@ -569,7 +569,7 @@ importers: version: 4.2.0 birpc: specifier: catalog:deps - version: 2.6.1 + version: 2.7.0 cac: specifier: catalog:deps version: 6.7.14 @@ -642,13 +642,13 @@ importers: version: 1.7.8 '@unocss/nuxt': specifier: catalog:build - version: 66.5.4(magicast@0.3.5)(postcss@8.5.6)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(webpack@5.98.0(esbuild@0.25.11)) + version: 66.5.4(magicast@0.3.5)(postcss@8.5.6)(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(webpack@5.98.0(esbuild@0.25.11)) '@vueuse/components': specifier: catalog:frontend version: 14.0.0(vue@3.5.22(typescript@5.9.3)) '@vueuse/nuxt': specifier: catalog:build - version: 14.0.0(magicast@0.3.5)(nuxt@4.1.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.22)(db0@0.3.4)(eslint@9.38.0(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.45)(rollup@4.52.5)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.2(typescript@5.9.3))(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + version: 14.0.0(magicast@0.3.5)(nuxt@4.1.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.22)(db0@0.3.4)(eslint@9.38.0(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.45)(rollup@4.52.5)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(vue-tsc@3.1.2(typescript@5.9.3))(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) '@vueuse/router': specifier: catalog:frontend version: 14.0.0(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) @@ -696,7 +696,7 @@ importers: version: 0.15.12(publint@0.3.15)(typescript@5.9.3)(vue-tsc@3.1.2(typescript@5.9.3)) vite-hot-client: specifier: catalog:frontend - version: 2.1.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.1.0(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) packages/webext: dependencies: @@ -3092,8 +3092,8 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - birpc@2.6.1: - resolution: {integrity: sha512-LPnFhlDpdSH6FJhJyn4M0kFO7vtQ5iPw24FnG0y21q09xC7e8+1LeR31S1MAIrDAHp4m7aas4bEkTDTvMAtebQ==} + birpc@2.7.0: + resolution: {integrity: sha512-tub/wFGH49vNCm0xraykcY3TcRgX/3JsALYq/Lwrtti+bTyFHkCUAWF5wgYoie8P41wYwig2mIKiqoocr1EkEQ==} body-parser@2.2.0: resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} @@ -6737,46 +6737,6 @@ packages: vite: ^6.0.0 || ^7.0.0 vue: ^3.5.0 - vite@7.1.12: - resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - jiti: '>=1.21.0' - less: ^4.0.0 - lightningcss: ^1.21.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - 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 - vitepress-plugin-group-icons@1.6.5: resolution: {integrity: sha512-+pg4+GKDq2fLqKb1Sat5p1p4SuIZ5tEPxu8HjpwoeecZ/VaXKy6Bdf0wyjedjaTAyZQzXbvyavJegqAcQ+B0VA==} peerDependencies: @@ -7845,14 +7805,6 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@3.0.0(magicast@0.5.0)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))': - dependencies: - '@nuxt/kit': 4.2.0(magicast@0.5.0) - execa: 8.0.1 - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - transitivePeerDependencies: - - magicast - '@nuxt/devtools-wizard@3.0.0': dependencies: consola: 3.4.2 @@ -7871,7 +7823,7 @@ snapshots: '@nuxt/kit': 4.2.0(magicast@0.5.0) '@vue/devtools-core': 7.7.7(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) '@vue/devtools-kit': 7.7.7 - birpc: 2.6.1 + birpc: 2.7.0 consola: 3.4.2 destr: 2.0.5 error-stack-parser-es: 1.0.5 @@ -7905,47 +7857,6 @@ snapshots: - utf-8-validate - vue - '@nuxt/devtools@3.0.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': - dependencies: - '@nuxt/devtools-kit': 3.0.0(magicast@0.5.0)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) - '@nuxt/devtools-wizard': 3.0.0 - '@nuxt/kit': 4.2.0(magicast@0.5.0) - '@vue/devtools-core': 7.7.7(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) - '@vue/devtools-kit': 7.7.7 - birpc: 2.6.1 - consola: 3.4.2 - destr: 2.0.5 - error-stack-parser-es: 1.0.5 - execa: 8.0.1 - fast-npm-meta: 0.4.7 - get-port-please: 3.2.0 - hookable: 5.5.3 - image-meta: 0.2.2 - is-installed-globally: 1.0.0 - launch-editor: 2.12.0 - local-pkg: 1.1.2 - magicast: 0.5.0 - nypm: 0.6.2 - ohash: 2.0.11 - pathe: 2.0.3 - perfect-debounce: 2.0.0 - pkg-types: 2.3.0 - semver: 7.7.3 - simple-git: 3.28.0 - sirv: 3.0.2 - structured-clone-es: 1.0.0 - tinyglobby: 0.2.15 - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - vite-plugin-inspect: 11.3.3(@nuxt/kit@4.2.0(magicast@0.3.5))(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) - vite-plugin-vue-tracer: 1.1.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) - which: 5.0.0 - ws: 8.18.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - vue - '@nuxt/eslint-config@1.10.0(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@antfu/install-pkg': 1.1.0 @@ -9107,13 +9018,13 @@ snapshots: unhead: 2.0.19 vue: 3.5.22(typescript@5.9.3) - '@unocss/astro@66.5.4(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))': + '@unocss/astro@66.5.4(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@unocss/core': 66.5.4 '@unocss/reset': 66.5.4 - '@unocss/vite': 66.5.4(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + '@unocss/vite': 66.5.4(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) optionalDependencies: - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) + vite: rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) '@unocss/cli@66.5.4': dependencies: @@ -9172,7 +9083,7 @@ snapshots: sirv: 3.0.2 vue-flow-layout: 0.2.0 - '@unocss/nuxt@66.5.4(magicast@0.3.5)(postcss@8.5.6)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(webpack@5.98.0(esbuild@0.25.11))': + '@unocss/nuxt@66.5.4(magicast@0.3.5)(postcss@8.5.6)(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(webpack@5.98.0(esbuild@0.25.11))': dependencies: '@nuxt/kit': 4.2.0(magicast@0.3.5) '@unocss/config': 66.5.4 @@ -9185,9 +9096,9 @@ snapshots: '@unocss/preset-wind3': 66.5.4 '@unocss/preset-wind4': 66.5.4 '@unocss/reset': 66.5.4 - '@unocss/vite': 66.5.4(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + '@unocss/vite': 66.5.4(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) '@unocss/webpack': 66.5.4(webpack@5.98.0(esbuild@0.25.11)) - unocss: 66.5.4(@unocss/webpack@66.5.4(webpack@5.98.0(esbuild@0.25.11)))(postcss@8.5.6)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + unocss: 66.5.4(@unocss/webpack@66.5.4(webpack@5.98.0(esbuild@0.25.11)))(postcss@8.5.6)(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) transitivePeerDependencies: - magicast - postcss @@ -9287,7 +9198,7 @@ snapshots: dependencies: '@unocss/core': 66.5.4 - '@unocss/vite@66.5.4(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))': + '@unocss/vite@66.5.4(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@jridgewell/remapping': 2.3.5 '@unocss/config': 66.5.4 @@ -9298,7 +9209,7 @@ snapshots: pathe: 2.0.3 tinyglobby: 0.2.15 unplugin-utils: 0.3.1 - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) + vite: rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) '@unocss/webpack@66.5.4(webpack@5.98.0(esbuild@0.25.11))': dependencies: @@ -9559,22 +9470,10 @@ snapshots: transitivePeerDependencies: - vite - '@vue/devtools-core@7.7.7(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': - dependencies: - '@vue/devtools-kit': 7.7.7 - '@vue/devtools-shared': 7.7.7 - mitt: 3.0.1 - nanoid: 5.1.5 - pathe: 2.0.3 - vite-hot-client: 2.1.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) - vue: 3.5.22(typescript@5.9.3) - transitivePeerDependencies: - - vite - '@vue/devtools-kit@7.7.7': dependencies: '@vue/devtools-shared': 7.7.7 - birpc: 2.6.1 + birpc: 2.7.0 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 @@ -9584,7 +9483,7 @@ snapshots: '@vue/devtools-kit@8.0.3': dependencies: '@vue/devtools-shared': 8.0.3 - birpc: 2.6.1 + birpc: 2.7.0 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 2.0.0 @@ -9670,13 +9569,13 @@ snapshots: '@vueuse/metadata@14.0.0': {} - '@vueuse/nuxt@14.0.0(magicast@0.3.5)(nuxt@4.1.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.22)(db0@0.3.4)(eslint@9.38.0(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.45)(rollup@4.52.5)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.2(typescript@5.9.3))(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': + '@vueuse/nuxt@14.0.0(magicast@0.3.5)(nuxt@4.1.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.22)(db0@0.3.4)(eslint@9.38.0(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.45)(rollup@4.52.5)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(vue-tsc@3.1.2(typescript@5.9.3))(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: '@nuxt/kit': 4.2.0(magicast@0.3.5) '@vueuse/core': 14.0.0(vue@3.5.22(typescript@5.9.3)) '@vueuse/metadata': 14.0.0 local-pkg: 1.1.2 - nuxt: 4.1.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.22)(db0@0.3.4)(eslint@9.38.0(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.45)(rollup@4.52.5)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.2(typescript@5.9.3))(yaml@2.8.1) + nuxt: 4.1.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.22)(db0@0.3.4)(eslint@9.38.0(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.45)(rollup@4.52.5)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(vue-tsc@3.1.2(typescript@5.9.3))(yaml@2.8.1) vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - magicast @@ -9949,7 +9848,7 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 - birpc@2.6.1: {} + birpc@2.7.0: {} body-parser@2.2.0: dependencies: @@ -12481,11 +12380,11 @@ snapshots: - magicast - supports-color - nuxt@4.1.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.22)(db0@0.3.4)(eslint@9.38.0(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown@1.0.0-beta.45)(rollup@4.52.5)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.1.2(typescript@5.9.3))(yaml@2.8.1): + nuxt@4.1.2(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.0.7)(@vue/compiler-sfc@3.5.22)(db0@0.3.4)(eslint@9.38.0(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(magicast@0.3.5)(optionator@0.9.4)(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(rolldown@1.0.0-beta.45)(rollup@4.52.5)(terser@5.43.1)(tsx@4.20.6)(typescript@5.9.3)(vue-tsc@3.1.2(typescript@5.9.3))(yaml@2.8.1): dependencies: '@nuxt/cli': 3.29.3(magicast@0.3.5) '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 3.0.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + '@nuxt/devtools': 3.0.0(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) '@nuxt/kit': 4.2.0(magicast@0.3.5) '@nuxt/schema': 4.1.2 '@nuxt/telemetry': 2.6.6(magicast@0.3.5) @@ -13316,7 +13215,7 @@ snapshots: '@babel/parser': 7.28.5 '@babel/types': 7.28.5 ast-kit: 2.1.3 - birpc: 2.6.1 + birpc: 2.7.0 debug: 4.4.3 dts-resolver: 2.1.2 get-tsconfig: 4.13.0 @@ -14013,9 +13912,9 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - unocss@66.5.4(@unocss/webpack@66.5.4(webpack@5.98.0(esbuild@0.25.11)))(postcss@8.5.6)(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): + unocss@66.5.4(@unocss/webpack@66.5.4(webpack@5.98.0(esbuild@0.25.11)))(postcss@8.5.6)(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: - '@unocss/astro': 66.5.4(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + '@unocss/astro': 66.5.4(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) '@unocss/cli': 66.5.4 '@unocss/core': 66.5.4 '@unocss/postcss': 66.5.4(postcss@8.5.6) @@ -14033,10 +13932,10 @@ snapshots: '@unocss/transformer-compile-class': 66.5.4 '@unocss/transformer-directives': 66.5.4 '@unocss/transformer-variant-group': 66.5.4 - '@unocss/vite': 66.5.4(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) + '@unocss/vite': 66.5.4(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) optionalDependencies: '@unocss/webpack': 66.5.4(webpack@5.98.0(esbuild@0.25.11)) - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) + vite: rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - postcss - supports-color @@ -14210,24 +14109,14 @@ snapshots: vite-dev-rpc@1.1.0(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: - birpc: 2.6.1 + birpc: 2.7.0 vite: rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) vite-hot-client: 2.1.0(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) - vite-dev-rpc@1.1.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): - dependencies: - birpc: 2.6.1 - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - vite-hot-client: 2.1.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) - vite-hot-client@2.1.0(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: vite: rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - vite-hot-client@2.1.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): - dependencies: - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - vite-node@3.2.4(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1): dependencies: cac: 6.7.14 @@ -14267,23 +14156,6 @@ snapshots: typescript: 5.9.3 vue-tsc: 3.1.2(typescript@5.9.3) - vite-plugin-inspect@11.3.3(@nuxt/kit@4.2.0(magicast@0.3.5))(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): - dependencies: - ansis: 4.2.0 - debug: 4.4.3 - error-stack-parser-es: 1.0.5 - ohash: 2.0.11 - open: 10.2.0 - perfect-debounce: 2.0.0 - sirv: 3.0.2 - unplugin-utils: 0.3.1 - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - vite-dev-rpc: 1.1.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) - optionalDependencies: - '@nuxt/kit': 4.2.0(magicast@0.3.5) - transitivePeerDependencies: - - supports-color - vite-plugin-inspect@11.3.3(@nuxt/kit@4.2.0(magicast@0.5.0))(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: ansis: 4.2.0 @@ -14322,33 +14194,6 @@ snapshots: vite: rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) vue: 3.5.22(typescript@5.9.3) - vite-plugin-vue-tracer@1.1.0(vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)): - dependencies: - estree-walker: 3.0.3 - exsolve: 1.0.7 - magic-string: 0.30.21 - pathe: 2.0.3 - source-map-js: 1.2.1 - vite: 7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) - vue: 3.5.22(typescript@5.9.3) - - vite@7.1.12(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1): - dependencies: - esbuild: 0.25.11 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.52.5 - tinyglobby: 0.2.15 - optionalDependencies: - '@types/node': 24.0.7 - fsevents: 2.3.3 - jiti: 2.6.1 - lightningcss: 1.30.2 - terser: 5.43.1 - tsx: 4.20.6 - yaml: 2.8.1 - vitepress-plugin-group-icons@1.6.5(rolldown-vite@7.1.20(@types/node@24.0.7)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: '@iconify-json/logos': 1.2.10 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fd6c8781..929cbc61 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -26,7 +26,7 @@ catalogs: '@pnpm/read-project-manifest': ^1001.1.4 '@rolldown/debug': ^1.0.0-beta.45 ansis: ^4.2.0 - birpc: ^2.6.1 + birpc: ^2.7.0 cac: ^6.7.14 debug: ^4.4.3 diff: ^8.0.2 From 009dbbdc9d12b620ced1ca5896d55c48032be19c Mon Sep 17 00:00:00 2001 From: arlo Date: Tue, 11 Nov 2025 21:56:40 +0800 Subject: [PATCH 2/4] chore: try to fix ci --- packages/core/src/node/host-docks.ts | 2 +- pnpm-lock.yaml | 179 +++++++++++++-------------- 2 files changed, 89 insertions(+), 92 deletions(-) diff --git a/packages/core/src/node/host-docks.ts b/packages/core/src/node/host-docks.ts index 2eb6f23a..12654dbb 100644 --- a/packages/core/src/node/host-docks.ts +++ b/packages/core/src/node/host-docks.ts @@ -9,7 +9,7 @@ export class DevToolsDockHost implements DevToolsDockHostType { public readonly context: DevToolsNodeContext, ) { this._sendOnChange = debounce(() => { - context.rpc.boardcast?.$callOptional('vite:core:list-dock-entries:updated') + context.rpc?.boardcast?.$callOptional('vite:core:list-dock-entries:updated') }, 10) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9720d84..717fdf91 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,7 +26,7 @@ catalogs: version: 0.2.6 tsdown: specifier: ^0.16.1 - version: 0.16.2 + version: 0.16.1 tsx: specifier: ^4.20.6 version: 4.20.6 @@ -105,7 +105,7 @@ catalogs: version: 0.2.15 unconfig: specifier: ^7.4.0 - version: 7.4.1 + version: 7.4.0 unstorage: specifier: ^1.17.2 version: 1.17.2 @@ -522,7 +522,7 @@ importers: version: 6.0.1(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) tsdown: specifier: catalog:build - version: 0.16.2(@vitejs/devtools@packages+core)(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) + version: 0.16.1(@vitejs/devtools@packages+core)(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) typescript: specifier: catalog:devtools version: 5.9.3 @@ -556,7 +556,7 @@ importers: devDependencies: tsdown: specifier: catalog:build - version: 0.16.2(@vitejs/devtools@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) + version: 0.16.1(@vitejs/devtools@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) packages/rpc: dependencies: @@ -569,7 +569,7 @@ importers: devDependencies: tsdown: specifier: catalog:build - version: 0.16.2(@vitejs/devtools@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) + version: 0.16.1(@vitejs/devtools@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) ws: specifier: catalog:deps version: 8.18.3 @@ -644,7 +644,7 @@ importers: version: 0.2.15 unconfig: specifier: catalog:deps - version: 7.4.1 + version: 7.4.0 unstorage: specifier: catalog:deps version: 1.17.2(@netlify/blobs@9.1.2)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2) @@ -720,7 +720,7 @@ importers: version: 1.0.0 tsdown: specifier: catalog:build - version: 0.16.2(@vitejs/devtools@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) + version: 0.16.1(@vitejs/devtools@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) vite-hot-client: specifier: catalog:frontend version: 2.1.0(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) @@ -733,7 +733,7 @@ importers: devDependencies: tsdown: specifier: catalog:build - version: 0.16.2(@vitejs/devtools@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) + version: 0.16.1(@vitejs/devtools@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) tsx: specifier: catalog:build version: 4.20.6 @@ -2780,24 +2780,24 @@ packages: engines: {node: '>=18'} hasBin: true - '@vitejs/devtools-kit@0.0.0-alpha.17': - resolution: {integrity: sha512-/MCjCc9bqFcKg2p2jqFj3CLgSThJF1aPin0x9RcYa+qoWvlvctERFT2Y1lGtXHP41ppaOgiff4n7d5wkuSD+CQ==} + '@vitejs/devtools-kit@0.0.0-alpha.16': + resolution: {integrity: sha512-/BlY4A84c04ui7E3GRTgkDU1maY9690hW1l5ZBVsdigVKFsQKHKqPiCXeyO0KI/6yilxU6mJGeZgUktzMyKy/w==} peerDependencies: vite: '*' - '@vitejs/devtools-rpc@0.0.0-alpha.17': - resolution: {integrity: sha512-L8b2en9zjwAQWrq+efv6hSIPmtrgC7gmqFCfVOa9wXzwarsT9oTA7W7PzJKIohaDp1yXkirYNczDPTb9KTof5A==} + '@vitejs/devtools-rpc@0.0.0-alpha.16': + resolution: {integrity: sha512-+iSGXCt1bO9zGM6/koUozqjWhNZ6ed3TIb3jYeYrrIg5A5GZn3ELUiud2rJYyGPC7Ux11x5F45SCMNVgyc8ZXQ==} peerDependencies: ws: '*' peerDependenciesMeta: ws: optional: true - '@vitejs/devtools-vite@0.0.0-alpha.17': - resolution: {integrity: sha512-hQMKu3vktHipNPtMC3FJ2t+Q/bWUGlD3/kj9k54ZDbdY8yzhf8kp/mtKMMTBhw9VrlScMXJS/svuIw8BAP5/aA==} + '@vitejs/devtools-vite@0.0.0-alpha.16': + resolution: {integrity: sha512-6WycYgNfNlNJbfBI4NvK0SVvuw61RaGtWbIkPqD9iv0S0bJsLkWE4eDHXwoe59BLDYXYCf9dfkjttqToZ+XF8g==} - '@vitejs/devtools@0.0.0-alpha.17': - resolution: {integrity: sha512-swF7zLlANdVodTkL3+7zD9Gn6HJqTSwl16VbQqzDM/hHbv3jRZbkmhg2P4Ux3oqHcu/iwcego0xWi7PtZ6WMFA==} + '@vitejs/devtools@0.0.0-alpha.16': + resolution: {integrity: sha512-f4RRJfH1uHuOqO5LMjK53th0e59UAGQtYUOHnLSXGTX1uZ3rYgCEHc3U//AAs/j3NkICGK/rj1lfcvPsUw3fGw==} hasBin: true peerDependencies: vite: '*' @@ -3250,10 +3250,6 @@ packages: resolution: {integrity: sha512-TH+b3Lv6pUjy/Nu0m6A2JULtdzLpmqF9x1Dhj00ZoEiML8qvVA9j1flkzTKNYgdEhWrjDwtWNpyyCUbfQe514g==} engines: {node: '>=20.19.0'} - ast-kit@2.2.0: - resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==} - engines: {node: '>=20.19.0'} - ast-walker-scope@0.8.3: resolution: {integrity: sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==} engines: {node: '>=20.19.0'} @@ -3297,6 +3293,9 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + birpc-x@0.0.1: + resolution: {integrity: sha512-S2ydcJjchMDRNQS9IidMk9gnER4V2FVY1B9RyKIN7DvvToy8gC4dJHVjguz0ZKKGWls+vyHAJdiyjRZx/gI4GA==} + birpc-x@0.0.5: resolution: {integrity: sha512-rpMbKwvHyrQx+j4bF4uReKvsEOMTbYimGd5Ci+PivSWm5WJlbdnv99q7cOREAxg4HaG1pjJBjdaBwgowkX0ViQ==} @@ -3919,9 +3918,9 @@ packages: resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} - dts-resolver@2.1.3: - resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} - engines: {node: '>=20.19.0'} + dts-resolver@2.1.2: + resolution: {integrity: sha512-xeXHBQkn2ISSXxbJWD828PFjtyg+/UrMDo7W4Ffcs7+YWCquxU8YjV1KoxuiL+eJ5pg3ll+bC6flVv61L3LKZg==} + engines: {node: '>=20.18.0'} peerDependencies: oxc-resolver: '>=11.0.0' peerDependenciesMeta: @@ -6042,8 +6041,8 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rolldown-plugin-dts@0.17.5: - resolution: {integrity: sha512-dYzjLdhgsSIPmOCPJdDXiD6AUotAHVkGLNlSMdi3VmvTqk7O9H7uGzG2WGzgnDxZq6kZh31vZUbp9ZFoOhpySA==} + rolldown-plugin-dts@0.17.3: + resolution: {integrity: sha512-8mGnNUVNrqEdTnrlcaDxs4sAZg0No6njO+FuhQd4L56nUbJO1tHxOoKDH3mmMJg7f/BhEj/1KjU5W9kZ9zM/kQ==} engines: {node: '>=20.18.0'} peerDependencies: '@ts-macro/tsc': ^0.3.6 @@ -6568,13 +6567,13 @@ packages: peerDependencies: typescript: '>=4.0.0' - tsdown@0.16.2: - resolution: {integrity: sha512-ZyHFO5DduN2TxY47hHPGZRZz5XSQbDYFl8L4BkLJlzYeHuX0cx5mZkonq7Xm4OC/z8BxWY+ai4kwvevup4Lwlw==} + tsdown@0.16.1: + resolution: {integrity: sha512-oCOj9wTDa+0XfuVpaGC3EPNjatpkKtUwelg4HfXD/vz+80wuCFC6og2QePsMRZtFM4io0zdxNxZI5yRQGpDRCA==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@vitejs/devtools': ^0.0.0-alpha.17 + '@vitejs/devtools': ^0.0.0-alpha.10 publint: ^0.3.0 typescript: ^5.0.0 unplugin-lightningcss: ^0.4.0 @@ -6651,11 +6650,11 @@ packages: ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} - unconfig-core@7.4.1: - resolution: {integrity: sha512-Bp/bPZjV2Vl/fofoA2OYLSnw1Z0MOhCX7zHnVCYrazpfZvseBbGhwcNQMxsg185Mqh7VZQqK3C8hFG/Dyng+yA==} + unconfig-core@7.4.0: + resolution: {integrity: sha512-3ew7rvES5x2LCZ/QRKV3nQQpq7eFYuszQuvZrhTHxDPKc34QFjRXI17XGiZI+WQTVIXKYeBti4v3LS39NWmhmg==} - unconfig@7.4.1: - resolution: {integrity: sha512-uyQ7LElcGizrOGZyIq9KU+xkuEjcRf9IpmDTkCSYv5mEeZzrXSj6rb51C0L+WTedsmAoVxW9WKrLWhSwebIM9Q==} + unconfig@7.4.0: + resolution: {integrity: sha512-KM0SrvIvwQXJnbiSzur1Y+5jHSLVPhS31H5qzgjDQxGqS3PWrH6X7TxYX/JTuTlItarHkZ9ePK9t01Q6wu1c4Q==} uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -6752,8 +6751,8 @@ packages: unrs-resolver@1.11.1: resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} - unrun@0.2.8: - resolution: {integrity: sha512-2HnCvemvMN7qQm0/1uhhi8JoVHQxfkAhZTCdFNWAK35dXKJlOHpcJ6ayN23JKJZyAXjAwpVZZr878flfRiaiFQ==} + unrun@0.2.6: + resolution: {integrity: sha512-ZLgMe3W+Zl3mjpnCbfW0JLlGQDa7U4mJKiBlValp5isZ9WeoAVaNyziCbr5Szo4abZ6WRE3OM1MjwpfFQrE5Aw==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: @@ -9635,7 +9634,7 @@ snapshots: '@unocss/config@66.5.5': dependencies: '@unocss/core': 66.5.5 - unconfig: 7.4.1 + unconfig: 7.4.0 '@unocss/core@66.5.5': {} @@ -9893,29 +9892,29 @@ snapshots: - rollup - supports-color - '@vitejs/devtools-kit@0.0.0-alpha.17(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3)': + '@vitejs/devtools-kit@0.0.0-alpha.16(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3)': dependencies: - '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) birpc: 2.8.0 - birpc-x: 0.0.5 + birpc-x: 0.0.1 nanoevents: 9.1.0 vite: rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - ws optional: true - '@vitejs/devtools-kit@0.0.0-alpha.17(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3)': + '@vitejs/devtools-kit@0.0.0-alpha.16(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3)': dependencies: - '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) birpc: 2.8.0 - birpc-x: 0.0.5 + birpc-x: 0.0.1 nanoevents: 9.1.0 vite: 7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - ws optional: true - '@vitejs/devtools-rpc@0.0.0-alpha.17(ws@8.18.3)': + '@vitejs/devtools-rpc@0.0.0-alpha.16(ws@8.18.3)': dependencies: birpc: 2.8.0 structured-clone-es: 1.0.0 @@ -9923,13 +9922,13 @@ snapshots: ws: 8.18.3 optional: true - '@vitejs/devtools-vite@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + '@vitejs/devtools-vite@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': dependencies: '@floating-ui/dom': 1.7.4 '@pnpm/read-project-manifest': 1001.1.4(@pnpm/logger@1001.0.0) '@rolldown/debug': 1.0.0-beta.47 - '@vitejs/devtools-kit': 0.0.0-alpha.17(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) - '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) + '@vitejs/devtools-kit': 0.0.0-alpha.16(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) ansis: 4.2.0 birpc: 2.8.0 cac: 6.7.14 @@ -9947,7 +9946,7 @@ snapshots: split2: 4.2.0 structured-clone-es: 1.0.0 tinyglobby: 0.2.15 - unconfig: 7.4.1 + unconfig: 7.4.0 unstorage: 1.17.2(@netlify/blobs@9.1.2)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2) vue-virtual-scroller: 2.0.0-beta.8(vue@3.5.24(typescript@5.9.3)) ws: 8.18.3 @@ -9978,13 +9977,13 @@ snapshots: - vue optional: true - '@vitejs/devtools-vite@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + '@vitejs/devtools-vite@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': dependencies: '@floating-ui/dom': 1.7.4 '@pnpm/read-project-manifest': 1001.1.4(@pnpm/logger@1001.0.0) '@rolldown/debug': 1.0.0-beta.47 - '@vitejs/devtools-kit': 0.0.0-alpha.17(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) - '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) + '@vitejs/devtools-kit': 0.0.0-alpha.16(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) ansis: 4.2.0 birpc: 2.8.0 cac: 6.7.14 @@ -10002,7 +10001,7 @@ snapshots: split2: 4.2.0 structured-clone-es: 1.0.0 tinyglobby: 0.2.15 - unconfig: 7.4.1 + unconfig: 7.4.0 unstorage: 1.17.2(@netlify/blobs@9.1.2)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2) vue-virtual-scroller: 2.0.0-beta.8(vue@3.5.24(typescript@5.9.3)) ws: 8.18.3 @@ -10033,13 +10032,13 @@ snapshots: - vue optional: true - '@vitejs/devtools@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + '@vitejs/devtools@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': dependencies: - '@vitejs/devtools-kit': 0.0.0-alpha.17(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) - '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) - '@vitejs/devtools-vite': 0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + '@vitejs/devtools-kit': 0.0.0-alpha.16(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) + '@vitejs/devtools-vite': 0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) birpc: 2.8.0 - birpc-x: 0.0.5 + birpc-x: 0.0.1 cac: 6.7.14 debug: 4.4.3 launch-editor: 2.12.0 @@ -10047,7 +10046,6 @@ snapshots: nanoevents: 9.1.0 open: 10.2.0 pathe: 2.0.3 - perfect-debounce: 2.0.0 sirv: 3.0.2 vite: rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) ws: 8.18.3 @@ -10078,13 +10076,13 @@ snapshots: - vue optional: true - '@vitejs/devtools@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': + '@vitejs/devtools@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3))': dependencies: - '@vitejs/devtools-kit': 0.0.0-alpha.17(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) - '@vitejs/devtools-rpc': 0.0.0-alpha.17(ws@8.18.3) - '@vitejs/devtools-vite': 0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + '@vitejs/devtools-kit': 0.0.0-alpha.16(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(ws@8.18.3) + '@vitejs/devtools-rpc': 0.0.0-alpha.16(ws@8.18.3) + '@vitejs/devtools-vite': 0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) birpc: 2.8.0 - birpc-x: 0.0.5 + birpc-x: 0.0.1 cac: 6.7.14 debug: 4.4.3 launch-editor: 2.12.0 @@ -10092,7 +10090,6 @@ snapshots: nanoevents: 9.1.0 open: 10.2.0 pathe: 2.0.3 - perfect-debounce: 2.0.0 sirv: 3.0.2 vite: 7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) ws: 8.18.3 @@ -10701,11 +10698,6 @@ snapshots: '@babel/parser': 7.28.5 pathe: 2.0.3 - ast-kit@2.2.0: - dependencies: - '@babel/parser': 7.28.5 - pathe: 2.0.3 - ast-walker-scope@0.8.3: dependencies: '@babel/parser': 7.28.5 @@ -10747,6 +10739,11 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 + birpc-x@0.0.1: + dependencies: + birpc: 2.8.0 + optional: true + birpc-x@0.0.5: dependencies: birpc: 2.8.0 @@ -11408,7 +11405,7 @@ snapshots: dotenv@17.2.3: {} - dts-resolver@2.1.3: {} + dts-resolver@2.1.2: {} dunder-proto@1.0.1: dependencies: @@ -14099,15 +14096,15 @@ snapshots: robust-predicates@3.0.2: {} - rolldown-plugin-dts@0.17.5(rolldown@1.0.0-beta.47)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)): + rolldown-plugin-dts@0.17.3(rolldown@1.0.0-beta.47)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)): dependencies: '@babel/generator': 7.28.5 '@babel/parser': 7.28.5 '@babel/types': 7.28.5 - ast-kit: 2.2.0 + ast-kit: 2.1.3 birpc: 2.8.0 debug: 4.4.3 - dts-resolver: 2.1.3 + dts-resolver: 2.1.2 get-tsconfig: 4.13.0 magic-string: 0.30.21 rolldown: 1.0.0-beta.47 @@ -14640,7 +14637,7 @@ snapshots: picomatch: 4.0.3 typescript: 5.9.3 - tsdown@0.16.2(@vitejs/devtools@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)): + tsdown@0.16.1(@vitejs/devtools@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)): dependencies: ansis: 4.2.0 cac: 6.7.14 @@ -14650,15 +14647,15 @@ snapshots: empathic: 2.0.0 hookable: 5.5.3 rolldown: 1.0.0-beta.47 - rolldown-plugin-dts: 0.17.5(rolldown@1.0.0-beta.47)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) + rolldown-plugin-dts: 0.17.3(rolldown@1.0.0-beta.47)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) semver: 7.7.3 tinyexec: 1.0.2 tinyglobby: 0.2.15 tree-kill: 1.2.2 - unconfig-core: 7.4.1 - unrun: 0.2.8(synckit@0.11.11) + unconfig-core: 7.4.0 + unrun: 0.2.6(synckit@0.11.11) optionalDependencies: - '@vitejs/devtools': 0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + '@vitejs/devtools': 0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) publint: 0.3.15 typescript: 5.9.3 transitivePeerDependencies: @@ -14669,7 +14666,7 @@ snapshots: - synckit - vue-tsc - tsdown@0.16.2(@vitejs/devtools@0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)): + tsdown@0.16.1(@vitejs/devtools@0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)))(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)): dependencies: ansis: 4.2.0 cac: 6.7.14 @@ -14679,15 +14676,15 @@ snapshots: empathic: 2.0.0 hookable: 5.5.3 rolldown: 1.0.0-beta.47 - rolldown-plugin-dts: 0.17.5(rolldown@1.0.0-beta.47)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) + rolldown-plugin-dts: 0.17.3(rolldown@1.0.0-beta.47)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) semver: 7.7.3 tinyexec: 1.0.2 tinyglobby: 0.2.15 tree-kill: 1.2.2 - unconfig-core: 7.4.1 - unrun: 0.2.8(synckit@0.11.11) + unconfig-core: 7.4.0 + unrun: 0.2.6(synckit@0.11.11) optionalDependencies: - '@vitejs/devtools': 0.0.0-alpha.17(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) + '@vitejs/devtools': 0.0.0-alpha.16(@netlify/blobs@9.1.2)(@pnpm/logger@1001.0.0)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.8.2)(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.24(typescript@5.9.3)) publint: 0.3.15 typescript: 5.9.3 transitivePeerDependencies: @@ -14698,7 +14695,7 @@ snapshots: - synckit - vue-tsc - tsdown@0.16.2(@vitejs/devtools@packages+core)(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)): + tsdown@0.16.1(@vitejs/devtools@packages+core)(publint@0.3.15)(synckit@0.11.11)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)): dependencies: ansis: 4.2.0 cac: 6.7.14 @@ -14708,13 +14705,13 @@ snapshots: empathic: 2.0.0 hookable: 5.5.3 rolldown: 1.0.0-beta.47 - rolldown-plugin-dts: 0.17.5(rolldown@1.0.0-beta.47)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) + rolldown-plugin-dts: 0.17.3(rolldown@1.0.0-beta.47)(typescript@5.9.3)(vue-tsc@3.1.3(typescript@5.9.3)) semver: 7.7.3 tinyexec: 1.0.2 tinyglobby: 0.2.15 tree-kill: 1.2.2 - unconfig-core: 7.4.1 - unrun: 0.2.8(synckit@0.11.11) + unconfig-core: 7.4.0 + unrun: 0.2.6(synckit@0.11.11) optionalDependencies: '@vitejs/devtools': link:packages/core publint: 0.3.15 @@ -14785,18 +14782,18 @@ snapshots: ultrahtml@1.6.0: {} - unconfig-core@7.4.1: + unconfig-core@7.4.0: dependencies: '@quansync/fs': 0.1.5 quansync: 0.2.11 - unconfig@7.4.1: + unconfig@7.4.0: dependencies: '@quansync/fs': 0.1.5 defu: 6.1.4 jiti: 2.6.1 quansync: 0.2.11 - unconfig-core: 7.4.1 + unconfig-core: 7.4.0 uncrypto@0.1.3: {} @@ -15005,7 +15002,7 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - unrun@0.2.8(synckit@0.11.11): + unrun@0.2.6(synckit@0.11.11): dependencies: '@oxc-project/runtime': 0.96.0 rolldown: 1.0.0-beta.47 @@ -15085,13 +15082,13 @@ snapshots: vite-dev-rpc@1.1.0(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: - birpc: 2.7.0 + birpc: 2.8.0 vite: rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) vite-hot-client: 2.1.0(rolldown-vite@7.2.2(@types/node@24.0.7)(esbuild@0.25.12)(jiti@2.6.1)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) vite-dev-rpc@1.1.0(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)): dependencies: - birpc: 2.7.0 + birpc: 2.8.0 vite: 7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1) vite-hot-client: 2.1.0(vite@7.2.2(@types/node@24.0.7)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(tsx@4.20.6)(yaml@2.8.1)) From d91a348ce8fa9d5aada75576963d60382c893a7c Mon Sep 17 00:00:00 2001 From: arlo Date: Wed, 12 Nov 2025 12:54:06 +0800 Subject: [PATCH 3/4] chore: update --- packages/kit/src/client/rpc.ts | 33 +++++++++++++++++++++++- packages/vite/src/app/composables/rpc.ts | 11 +------- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/packages/kit/src/client/rpc.ts b/packages/kit/src/client/rpc.ts index 6d54ae64..7066e94d 100644 --- a/packages/kit/src/client/rpc.ts +++ b/packages/kit/src/client/rpc.ts @@ -15,6 +15,7 @@ function isNumeric(str: string | number | undefined) { export interface DevToolsRpcClientOptions { connectionMeta?: ConnectionMeta baseURL?: string[] + cacheResponse?: boolean wsOptions?: Partial rpcOptions?: Partial> } @@ -25,6 +26,7 @@ export interface ClientRpcReturn { connectionMeta: ConnectionMeta rpc: DevToolsRpcClient clientRpc: DevToolsClientRpcHost + invalidateCache: () => void } export async function getDevToolsRpcClient( @@ -33,8 +35,10 @@ export async function getDevToolsRpcClient( const { baseURL = '/.devtools/', rpcOptions = {}, + cacheResponse = false, } = options const urls = Array.isArray(baseURL) ? baseURL : [baseURL] + const responseCacheMap = new Map() let connectionMeta: ConnectionMeta | undefined = options.connectionMeta if (!connectionMeta) { @@ -71,15 +75,42 @@ export async function getDevToolsRpcClient( url, ...options.wsOptions, }), - rpcOptions, + rpcOptions: { + ...rpcOptions, + onRequest: async (req, next, resolve) => { + await rpcOptions.onRequest?.(req, next, resolve) + if (cacheResponse) { + const cacheKey = `${req.m}-${JSON.stringify(req.a)}` + if (responseCacheMap.has(cacheKey)) { + resolve(responseCacheMap.get(cacheKey)) + } + else { + responseCacheMap.set(cacheKey, await next(req)) + } + } + else { + await next(req) + } + }, + }, }, ) // @ts-expect-error assign to readonly property context.rpc = rpc + function invalidateCache(key?: string) { + if (key) { + responseCacheMap.delete(key) + } + else { + responseCacheMap.clear() + } + } + return { connectionMeta, rpc, clientRpc, + invalidateCache, } } diff --git a/packages/vite/src/app/composables/rpc.ts b/packages/vite/src/app/composables/rpc.ts index 2abf81f3..dea43af2 100644 --- a/packages/vite/src/app/composables/rpc.ts +++ b/packages/vite/src/app/composables/rpc.ts @@ -14,7 +14,6 @@ export const connectionState = reactive<{ }) const rpc = shallowRef(undefined!) -const responseCacheMap = new Map() export async function connect() { const runtimeConfig = useRuntimeConfig() @@ -24,6 +23,7 @@ export async function connect() { '/.devtools/', runtimeConfig.app.baseURL, ], + cacheResponse: true, connectionMeta: runtimeConfig.app.connection, wsOptions: { onConnected: () => { @@ -41,15 +41,6 @@ export async function connect() { connectionState.error = e console.error(`[vite-devtools] RPC error on executing "${name}":`) }, - onRequest: async (req, next, resolve) => { - const cacheKey = `${req.m}-${JSON.stringify(req.a)}` - if (responseCacheMap.has(cacheKey)) { - resolve(responseCacheMap.get(cacheKey)) - } - else { - responseCacheMap.set(cacheKey, await next(req)) - } - }, }, }) From d025a8a49c595291cb28776b14f9f15fc7e89f50 Mon Sep 17 00:00:00 2001 From: arlo Date: Sat, 15 Nov 2025 15:48:49 +0800 Subject: [PATCH 4/4] refactor: cache --- packages/kit/src/client/rpc.ts | 89 +++++++++++++++++++----- packages/vite/src/app/composables/rpc.ts | 12 +++- 2 files changed, 81 insertions(+), 20 deletions(-) diff --git a/packages/kit/src/client/rpc.ts b/packages/kit/src/client/rpc.ts index 7066e94d..98740f09 100644 --- a/packages/kit/src/client/rpc.ts +++ b/packages/kit/src/client/rpc.ts @@ -12,12 +12,60 @@ function isNumeric(str: string | number | undefined) { return `${+str}` === `${str}` } +interface RpcCacheOptions { + functions: string[] +} + +// @TODO: should be moved to birpc-x? +class RpcCacheManager { + private cacheMap = new Map>() + private options: RpcCacheOptions + + constructor(options: RpcCacheOptions) { + this.options = options + } + + updateOptions(options: Partial) { + this.options = { + ...this.options, + ...options, + } + } + + cached(m: string, a: unknown[]) { + const methodCache = this.cacheMap.get(m) + if (methodCache) { + return methodCache.get(JSON.stringify(a)) + } + return undefined + } + + apply(req: { m: string, a: unknown[] }, res: unknown) { + const methodCache = this.cacheMap.get(req.m) || new Map() + methodCache.set(JSON.stringify(req.a), res) + this.cacheMap.set(req.m, methodCache) + } + + validate(m: string) { + return this.options.functions.includes(m) + } + + invalidate(key?: string) { + if (key) { + this.cacheMap.delete(key) + } + else { + this.cacheMap.clear() + } + } +} + export interface DevToolsRpcClientOptions { connectionMeta?: ConnectionMeta baseURL?: string[] - cacheResponse?: boolean wsOptions?: Partial rpcOptions?: Partial> + cacheOptions?: boolean | Partial } export type DevToolsRpcClient = BirpcReturn @@ -26,19 +74,29 @@ export interface ClientRpcReturn { connectionMeta: ConnectionMeta rpc: DevToolsRpcClient clientRpc: DevToolsClientRpcHost - invalidateCache: () => void } +export async function getDevToolsRpcClient( + options: DevToolsRpcClientOptions & { cacheOptions: false }, +): Promise +export async function getDevToolsRpcClient( + options: DevToolsRpcClientOptions & { cacheOptions: true }, +): Promise +export async function getDevToolsRpcClient( + options: DevToolsRpcClientOptions & { cacheOptions: Partial }, +): Promise +export async function getDevToolsRpcClient( + options?: DevToolsRpcClientOptions, +): Promise export async function getDevToolsRpcClient( options: DevToolsRpcClientOptions = {}, ): Promise { const { baseURL = '/.devtools/', rpcOptions = {}, - cacheResponse = false, + cacheOptions = false, } = options const urls = Array.isArray(baseURL) ? baseURL : [baseURL] - const responseCacheMap = new Map() let connectionMeta: ConnectionMeta | undefined = options.connectionMeta if (!connectionMeta) { @@ -64,6 +122,7 @@ export async function getDevToolsRpcClient( ? `${location.protocol.replace('http', 'ws')}//${location.hostname}:${connectionMeta.websocket}` : connectionMeta.websocket as string + const cacheManager = cacheOptions ? new RpcCacheManager({ functions: [], ...(typeof options.cacheOptions === 'object' ? options.cacheOptions : {}) }) : null const context: DevToolsClientContext = { rpc: undefined!, } @@ -79,13 +138,14 @@ export async function getDevToolsRpcClient( ...rpcOptions, onRequest: async (req, next, resolve) => { await rpcOptions.onRequest?.(req, next, resolve) - if (cacheResponse) { - const cacheKey = `${req.m}-${JSON.stringify(req.a)}` - if (responseCacheMap.has(cacheKey)) { - resolve(responseCacheMap.get(cacheKey)) + if (cacheOptions && cacheManager?.validate(req.m)) { + const cached = cacheManager.cached(req.m, req.a) + if (cached) { + return resolve(cached) } else { - responseCacheMap.set(cacheKey, await next(req)) + const res = await next(req) + cacheManager?.apply(req, res) } } else { @@ -98,19 +158,10 @@ export async function getDevToolsRpcClient( // @ts-expect-error assign to readonly property context.rpc = rpc - function invalidateCache(key?: string) { - if (key) { - responseCacheMap.delete(key) - } - else { - responseCacheMap.clear() - } - } - return { connectionMeta, rpc, clientRpc, - invalidateCache, + ...(cacheOptions ? { cacheManager } : {}), } } diff --git a/packages/vite/src/app/composables/rpc.ts b/packages/vite/src/app/composables/rpc.ts index dea43af2..96b2e38a 100644 --- a/packages/vite/src/app/composables/rpc.ts +++ b/packages/vite/src/app/composables/rpc.ts @@ -23,7 +23,7 @@ export async function connect() { '/.devtools/', runtimeConfig.app.baseURL, ], - cacheResponse: true, + cacheOptions: true, connectionMeta: runtimeConfig.app.connection, wsOptions: { onConnected: () => { @@ -45,6 +45,16 @@ export async function connect() { }) rpc.value = result.rpc + + const functions = await rpc.value.$call('vite:core:list-rpc-functions') + + // TODO: add cacheable option to birpc-x and use it here + // @ts-expect-error skip type check + const cacheableFunctions = Object.keys(functions).filter(name => functions[name]?.cacheable) + result.cacheManager.updateOptions({ + functions: [...cacheableFunctions], + }) + connectionState.connected = true } catch (e) {