{ "name": "sync-pad", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "node scripts/generate-icons.mjs && vue-tsc -b && vite build", "preview": "vite preview", "cap:sync": "npx cap sync", "cap:open:android": "npx cap open android", "cap:open:ios": "npx cap open ios", "cap:add:android": "npx cap add android", "cap:add:ios": "npx cap add ios" }, "dependencies": { "@capacitor/cli": "^8.3.1", "@capacitor/core": "^8.3.1", "@tailwindcss/vite": "^4.2.4", "@vueuse/core": "^14.2.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "jsqr": "^1.4.0", "lucide-vue-next": "^1.0.0", "marked": "^18.0.2", "qrcode": "^1.5.4", "reka-ui": "^2.9.6", "shadcn-vue": "^2.6.2", "sharp": "^0.34.5", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.4", "tw-animate-css": "^1.4.0", "tweetnacl": "^1.0.3", "tweetnacl-util": "^0.15.1", "vite-plugin-pwa": "^1.2.0", "vue": "^3.5.32", "vue-router": "^5.0.6" }, "devDependencies": { "@types/node": "^24.12.2", "@types/qrcode": "^1.5.6", "@vitejs/plugin-vue": "^6.0.6", "@vue/tsconfig": "^0.9.1", "typescript": "~6.0.2", "vite": "^8.0.10", "vue-tsc": "^3.2.7" } }