{ "name": "peach", "version": "2.38.10", "description": "Zero-knowledge password manager", "type": "module", "scripts": { "dev": "vite", "build": "npm run build:chrome && npm run build:firefox && npm run build:mobile", "build:chrome": "node scripts/clean-chrome-dist.mjs && BUILD_TARGET=chrome vite build && node scripts/sync-chrome-dist.mjs", "build:firefox": "node scripts/clean-firefox-artifacts.mjs && BUILD_TARGET=firefox vite build", "build:mobile": "vite build --config vite.config.mobile.ts", "build:e2e": "PEACH_E2E_PASSKEYS=1 BUILD_TARGET=chrome vite build && node scripts/sync-chrome-dist.mjs", "package:firefox": "node scripts/clean-firefox-artifacts.mjs && npm run build:firefox && cd dist-firefox && web-ext build --overwrite-dest", "typecheck": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest", "test:passkeys": "npm run build:e2e && playwright test tests/passkeys.spec.ts", "ci": "bun run scripts/ci.ts" }, "dependencies": { "@bokuweb/zstd-wasm": "^0.0.27", "@stablelib/blake2s": "^2.0.1", "@stablelib/chacha20poly1305": "^2.0.1", "@stablelib/hkdf": "^2.0.1", "@stablelib/hmac": "^2.0.1", "@stablelib/sha256": "^2.0.1", "@stablelib/x25519": "^2.0.1", "hash-wasm": "^4.12.0", "jsqr": "^1.4.0", "otpauth": "^9.5.0", "papaparse": "^5.5.3", "qrcode": "^1.5.4", "tldts": "^7.0.28", "zxcvbn": "^4.4.2" }, "devDependencies": { "@crxjs/vite-plugin": "^2.4.0", "@playwright/test": "^1.59.1", "@types/chrome": "^0.1.40", "@types/node": "^22.0.0", "@types/papaparse": "^5.5.2", "@types/qrcode": "^1.5.6", "@types/zxcvbn": "^4.4.5", "@vitest/ui": "^4.1.4", "jsdom": "^29.0.2", "playwright": "^1.59.1", "typescript": "^6.0.3", "vite-plugin-solid": "^2.11.12", "vitest": "^4.1.4", "web-ext": "^8.10.0" } }