From 9537f35a2785e523e732c6e84d5cb74f5962ebe5 Mon Sep 17 00:00:00 2001 From: Danila Poyarkov Date: Fri, 15 May 2026 11:39:47 +0300 Subject: [PATCH] perf(vue): remove wheel gesture dependency --- bun.lock | 6 ----- package.json | 1 - packages/vue/package.json | 6 +++-- packages/vue/src/shared/gesture/wheel.ts | 29 ------------------------ packages/vue/tsdown.config.ts | 1 - 5 files changed, 4 insertions(+), 39 deletions(-) delete mode 100644 packages/vue/src/shared/gesture/wheel.ts diff --git a/bun.lock b/bun.lock index 753121ffe..6f176da59 100644 --- a/bun.lock +++ b/bun.lock @@ -27,7 +27,6 @@ "@tauri-apps/plugin-shell": "^2.3.5", "@tauri-apps/plugin-updater": "^2.10.1", "@unhead/vue": "^2.1.10", - "@use-gesture/vanilla": "^10.3.1", "@vueuse/core": "^14.2.1", "ai": "^6.0.174", "canvaskit-wasm": "^0.40.0", @@ -172,7 +171,6 @@ "dependencies": { "@nanostores/i18n": "^1.2.2", "@nanostores/vue": "^1.1.0", - "@use-gesture/vanilla": "^10.3.1", "@vueuse/core": "^14.2.1", "nanostores": "^1.2.0", }, @@ -1158,10 +1156,6 @@ "@unhead/vue": ["@unhead/vue@2.1.12", "", { "dependencies": { "hookable": "^6.0.1", "unhead": "2.1.12" }, "peerDependencies": { "vue": ">=3.5.18" } }, "sha512-zEWqg0nZM8acpuTZE40wkeUl8AhIe0tU0OkilVi1D4fmVjACrwoh5HP6aNqJ8kUnKsoy6D+R3Vi/O+fmdNGO7g=="], - "@use-gesture/core": ["@use-gesture/core@10.3.1", "", {}, "sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw=="], - - "@use-gesture/vanilla": ["@use-gesture/vanilla@10.3.1", "", { "dependencies": { "@use-gesture/core": "10.3.1" } }, "sha512-lT4scGLu59ovA3zmtUonukAGcA0AdOOh+iwNDS05Bsu7Lq9aZToDHhI6D8Q2qvsVraovtsLLYwPrWdG/noMAKw=="], - "@valibot/to-json-schema": ["@valibot/to-json-schema@1.6.0", "", { "peerDependencies": { "valibot": "^1.3.0" } }, "sha512-d6rYyK5KVa2XdqamWgZ4/Nr+cXhxjy7lmpe6Iajw15J/jmU+gyxl2IEd1Otg1d7Rl3gOQL5reulnSypzBtYy1A=="], "@vercel/oidc": ["@vercel/oidc@3.2.0", "", {}, "sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug=="], diff --git a/package.json b/package.json index ac8e9282d..28ab4fac4 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,6 @@ "@tauri-apps/plugin-shell": "^2.3.5", "@tauri-apps/plugin-updater": "^2.10.1", "@unhead/vue": "^2.1.10", - "@use-gesture/vanilla": "^10.3.1", "@vueuse/core": "^14.2.1", "ai": "^6.0.174", "canvaskit-wasm": "^0.40.0", diff --git a/packages/vue/package.json b/packages/vue/package.json index 459ce87e3..392665668 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -20,7 +20,10 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "sideEffects": false, - "files": ["dist", "README.md"], + "files": [ + "dist", + "README.md" + ], "scripts": { "build": "bunx tsdown --config tsdown.config.ts", "prepack": "bun run build" @@ -47,7 +50,6 @@ "dependencies": { "@nanostores/i18n": "^1.2.2", "@nanostores/vue": "^1.1.0", - "@use-gesture/vanilla": "^10.3.1", "@vueuse/core": "^14.2.1", "nanostores": "^1.2.0" }, diff --git a/packages/vue/src/shared/gesture/wheel.ts b/packages/vue/src/shared/gesture/wheel.ts deleted file mode 100644 index fe91c2a5e..000000000 --- a/packages/vue/src/shared/gesture/wheel.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { WheelGesture } from '@use-gesture/vanilla' -import type { EventTypes, Handler, UserWheelConfig } from '@use-gesture/vanilla' -import { watch, shallowRef, onScopeDispose } from 'vue' -import type { Ref } from 'vue' - -export function useWheelGesture( - target: Ref, - handler: Handler<'wheel', EventTypes['wheel']>, - config?: UserWheelConfig -) { - const gesture = shallowRef(null) - - const stop = watch( - target, - (element) => { - gesture.value?.destroy() - gesture.value = element ? new WheelGesture(element, handler, config) : null - }, - { immediate: true } - ) - - onScopeDispose(() => { - stop() - gesture.value?.destroy() - gesture.value = null - }) - - return gesture -} diff --git a/packages/vue/tsdown.config.ts b/packages/vue/tsdown.config.ts index b2dbd6d59..f80dd7fd9 100644 --- a/packages/vue/tsdown.config.ts +++ b/packages/vue/tsdown.config.ts @@ -29,7 +29,6 @@ export default defineConfig({ 'canvaskit-wasm', 'opentype.js', '@vueuse/core', - '@use-gesture/vanilla', '@nanostores/vue', '@nanostores/i18n', 'nanostores',