1{2 "name": "peach",3 "version": "2.45.4",4 "description": "Zero-knowledge password manager",5 "type": "module",6 "scripts": {7 "dev": "vite",8 "build": "npm run build:chrome && npm run build:firefox && npm run build:mobile",9 "build:chrome": "node scripts/clean-chrome-dist.mjs && BUILD_TARGET=chrome vite build && node scripts/sync-chrome-dist.mjs",10 "build:firefox": "node scripts/clean-firefox-artifacts.mjs && BUILD_TARGET=firefox vite build",11 "build:mobile": "vite build --config vite.config.mobile.ts",12 "build:e2e": "PEACH_E2E_PASSKEYS=1 BUILD_TARGET=chrome vite build && node scripts/sync-chrome-dist.mjs",13 "package:firefox": "node scripts/clean-firefox-artifacts.mjs && npm run build:firefox && cd dist-firefox && web-ext build --overwrite-dest",14 "typecheck": "tsc --noEmit",15 "test": "vitest run",16 "test:watch": "vitest",17 "test:passkeys": "npm run build:e2e && playwright test tests/passkeys.spec.ts",18 "ci": "bun run scripts/ci.ts"19 },20 "dependencies": {21 "@bokuweb/zstd-wasm": "^0.0.27",22 "@digitaldefiance/reed-solomon-erasure.wasm": "^1.0.2",23 "@stablelib/blake2s": "^2.0.1",24 "@stablelib/chacha20poly1305": "^2.0.1",25 "@stablelib/hkdf": "^2.0.1",26 "@stablelib/hmac": "^2.0.1",27 "@stablelib/sha256": "^2.0.1",28 "@stablelib/x25519": "^2.0.1",29 "@zxing/library": "^0.23.0",30 "bwip-js": "^4.10.1",31 "hash-wasm": "^4.12.0",32 "jsqr": "^1.4.0",33 "otpauth": "^9.5.0",34 "pako": "^2.1.0",35 "papaparse": "^5.5.3",36 "pdf-lib": "^1.17.1",37 "qrcode": "^1.5.4",38 "tldts": "^7.0.28",39 "zxcvbn": "^4.4.2"40 },41 "devDependencies": {42 "@crxjs/vite-plugin": "^2.4.0",43 "@playwright/test": "^1.59.1",44 "@types/chrome": "^0.1.40",45 "@types/node": "^22.0.0",46 "@types/pako": "^2.0.4",47 "@types/papaparse": "^5.5.2",48 "@types/qrcode": "^1.5.6",49 "@types/zxcvbn": "^4.4.5",50 "@vitest/ui": "^4.1.4",51 "jsdom": "^29.0.2",52 "playwright": "^1.59.1",53 "typescript": "^6.0.3",54 "vite-plugin-solid": "^2.11.12",55 "vitest": "^4.1.4",56 "web-ext": "^8.10.0"57 }58}