{ "name": "frontend", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview" }, "dependencies": { "@element-plus/icons-vue": "^2.3.2", "@simplewebauthn/browser": "^13.3.0", "@tanstack/vue-query": "^5.66.0", "argon2-browser": "^1.18.0", "bcryptjs": "^3.0.3", "element-plus": "^2.9.5", "fflate": "^0.8.2", "hash-wasm": "^4.12.0", "html2canvas": "^1.4.1", "jspdf": "^4.2.0", "jsqr": "^1.4.0", "libsodium-wrappers-sumo": "^0.8.2", "openpgp": "^6.3.0", "pinia": "^3.0.4", "qrcode": "^1.5.4", "scrypt-js": "^3.0.1", "sql.js": "^1.10.3", "vue": "^3.5.25", "vue-i18n": "^9.14.5", "vue-router": "^5.0.3", "wa-sqlite": "^1.0.0" }, "devDependencies": { "@playwright/test": "^1.58.2", "@types/node": "^22.13.5", "@vitejs/plugin-vue": "^6.0.2", "unplugin-auto-import": "^0.19.0", "unplugin-vue-components": "^0.28.0", "vite": "^6.2.0", "vite-plugin-pwa": "^0.21.1", "vite-plugin-top-level-await": "^1.6.0", "vite-plugin-wasm": "^3.5.0" }, "overrides": { "serialize-javascript": "^7.0.3" } }