{ "name": "web", "private": true, "version": "1.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "build:capacitor": "vue-tsc -b && vite build --mode capacitor", "ota:package": "npm run build:capacitor && node scripts/package-app-update.mjs", "preview": "vite preview", "cap:configure": "node scripts/configure-capacitor.mjs", "cap:sync": "npx cap sync && npm run cap:configure", "cap:open:android": "npx cap open android", "cap:open:ios": "npx cap open ios", "cap:run:android": "npx cap run android", "cap:run:ios": "npx cap run ios" }, "dependencies": { "@capacitor/android": "^8.4.2", "@capacitor/barcode-scanner": "^3.1.0", "@capacitor/core": "^8.4.2", "@capacitor/geolocation": "^8.2.0", "@capacitor/ios": "^8.4.2", "@capgo/capacitor-updater": "^8.51.2", "@ckeditor/ckeditor5-vue": "^8.2.0", "@element-plus/icons-vue": "^2.3.2", "axios": "^1.18.1", "ckeditor5": "^48.3.1", "dompurify": "^3.4.12", "echarts": "^6.1.0", "element-plus": "^2.14.3", "html2canvas": "^1.4.1", "jspdf": "^4.2.1", "pinia": "^4.0.2", "qrcode": "1.5.4", "vue": "^3.5.39", "vue-router": "^4.6.4" }, "devDependencies": { "@capacitor/cli": "^8.4.2", "@types/node": "^24.13.2", "@types/qrcode": "1.5.6", "@vitejs/plugin-vue": "^6.0.7", "@vue/tsconfig": "^0.9.1", "archiver": "^8.0.0", "typescript": "~6.0.2", "unplugin-auto-import": "^21.0.0", "unplugin-vue-components": "^32.1.0", "vite": "^8.1.1", "vue-tsc": "^3.3.5" } }