All skills
skilld-dev avatar

/vueuse-integrations-skilld

@b9c39cb

Integration wrappers for utility libraries in @vueuse/integrations v15. ALWAYS use when writing code importing "@vueuse/integrations" or any of its composables (useAxios, useSortable, useFocusTrap, useCookies, useIDBKeyval, useFuse, useChangeCase, useDrauu, useJwt, useNProgress, useQRCode, useAsyncValidator). Consult for debugging, best practices, or modifying @vueuse/integrations, vueuse integrations, vueuse.

Use this Skill: https://skilld.dev/gh/skilld-dev/vue-ecosystem-skills/vueuse-integrations-skilld

This session only. Nothing lands on disk.

referencesmigration-v14-to-v15.md

≈880 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Migration: v14 to v15 (@vueuse/integrations)

Baseline: 14.3.0 → target: 15.0.0. Facts verified against the prepared v15.0.0 source and cited release notes.

v15.0.0

Release: https://github.com/vueuse/vueuse/releases/tag/v15.0.0 (2026-09-16)

BREAKING: useIDBKeyval returns an object and syncs across tabs

PR: https://github.com/vueuse/vueuse/pull/5338 (labeled BREAKING CHANGE, milestone 15.0). Verified in dist/useIDBKeyval.d.ts:46-51 and dist/useIDBKeyval.js:83-89.

Before (v14):

const count = useIDBKeyval('my-count', 0) // ref with merged set()
count.value = 10
await count.set(10)

After (v15):

const { data: count, set } = useIDBKeyval('my-count', 0)
count.value = 10
await set(10)

Migration steps:

  1. Replace const x = useIDBKeyval(...) with const { data: x, set } = useIDBKeyval(...).
  2. Change await x.set(v) to await set(v).
  3. Deleting still works by assignment: x.value = null.
  4. New return members: isFinished (initial read done), isSupported (BroadcastChannel available).

New option listenToStorageChanges (default true) syncs every useIDBKeyval on the same key across tabs via BroadcastChannel named vueuse-idb-<key>; it uses BroadcastChannel, not the StorageEvent, despite the option name matching useStorage. Pass listenToStorageChanges: false when cross-tab echo is unwanted (dist/useIDBKeyval.js:60-76).

BREAKING: Node.js 20 dropped

engines.node is >=22 (package.json:52-54; release note "Drop support for Node.js 20", https://github.com/vueuse/vueuse/pull/5553). Upgrade CI images and Lambda runtimes before upgrading.

drauu peer range aligned

useDrauu accepts drauu@^1 || ^0.4 (package.json:59; https://github.com/vueuse/vueuse/pull/5595). v14 pinned ^0.4; either major now resolves. The API surface used (createDrauu, Brush, Options) is identical in both.

Other notes for this window (v14.4.0)

Carried constraints still in force

Upgrade checklist

  1. Node >= 22 everywhere the package installs or builds.
  2. useIDBKeyval call sites: destructure data, switch .set() calls (type errors surface immediately because the return type changed).
  3. Review any code relying on cross-tab silence from useIDBKeyval; opt out with listenToStorageChanges: false.
  4. Confirm each wrapper's peer dependency is installed; v15 widened only drauu.
  5. Keep submodule imports (@vueuse/integrations/useX) for tree-shaking; remove any deprecated alias usage.

Source: SKILL.md on GitHub

1 warning9d3 checks · Risk SAFE
  • Gen Agent Trust Hub9d

    The skill is a comprehensive documentation resource for the @vueuse/integrations library, providing API references, best practices, and integration examples for various utility libraries such as Axios, Fuse.js, and focus-trap. No security issues or malicious patterns were detected.

  • Socket9d

    No alerts

  • Snyk9d

    Risk: MEDIUM · 1 issue

Signed by skilld at b9c39cb. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last week.

Activeupdated last week

README badge

README badge for skilld-dev/vue-ecosystem-skills/vueuse-integrations-skilld