Demo
A fully interactive demo application is included in the demo/ directory. It covers every feature of the package in a tabbed interface — no build step required.
bash
git clone https://github.com/macrulezru/vue-storage-kit.git
cd vue-storage-kit
npm install
npm run demoOpens http://localhost:5173 automatically.
| Tab | What it shows |
|---|---|
| 🗄️ localStorage / session | useLocalStorage, useSessionStorage, defineStorageKey, useStorageKeys |
| ⏱️ TTL & expiry | Live countdown, onExpire callback, remove() |
| 🔄 Schema migrations | Seed v1 / v2 data, reload — migration chain runs automatically |
| 🔐 Encryption | AES-GCM write/read, raw base64 in storage vs decrypted value |
| 📡 Tab sync | useBroadcastChannel cross-tab chat + useStorage with sync: true (open two tabs) |
| 💾 IndexedDB | useIDBRef reactive note + useIndexedDB CRUD table |
| 🍪 Cookies | useCookie with JSON object and string, shows raw document.cookie |
| 📋 Storage list | useStorageList as a persistent to-do app |
| 🔧 Utilities | getStorageQuota bar, exportStorage / importStorage / clearStorage |
| 📦 Pinia persist | createPiniaPersist global plugin, shows raw persisted state |
| 🗜️ Compression | compress / decompress with size ratio, CompressAdapter |