{
  "name": "client",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc -b && vite build",
    "lint": "eslint .",
    "test": "vitest run",
    "preview": "vite preview",
    "generate:flyer": "node ../scripts/generate-beta-flyer.mjs",
    "generate:flyer:png": "node ../scripts/generate-beta-flyer.mjs --png",
    "generate:flyer:all": "node ../scripts/generate-beta-flyer.mjs --all",
    "generate:flyer:setup": "playwright install chromium",
    "generate:sharepic": "node ../scripts/generate-sharepic.mjs",
    "translate:locales": "node ../scripts/translate-locales.mjs",
    "translate:flyer": "node ../scripts/translate-flyer.mjs",
    "validate:i18n": "node ../scripts/validate-i18n-keys.mjs"
  },
  "dependencies": {
    "@simplewebauthn/browser": "^13.3.0",
    "bip39": "^3.1.0",
    "dexie": "^4.4.2",
    "dexie-react-hooks": "^4.4.0",
    "fflate": "^0.8.3",
    "i18next": "^26.3.0",
    "i18next-browser-languagedetector": "^8.2.1",
    "jspdf": "^4.2.1",
    "leaflet": "^1.9.4",
    "lucide-react": "^1.16.0",
    "qrcode": "^1.5.4",
    "react": "^19.2.6",
    "react-dom": "^19.2.6",
    "react-i18next": "^17.0.8"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@types/leaflet": "^1.9.21",
    "@types/node": "^24.12.3",
    "@types/qrcode": "^1.5.5",
    "@types/react": "^19.2.14",
    "@types/react-dom": "^19.2.3",
    "@vitejs/plugin-react": "^4.7.0",
    "eslint": "^10.3.0",
    "eslint-plugin-react-hooks": "^7.1.1",
    "eslint-plugin-react-refresh": "^0.5.2",
    "globals": "^17.6.0",
    "happy-dom": "^20.9.0",
    "playwright": "^1.51.0",
    "typescript": "~6.0.2",
    "typescript-eslint": "^8.59.2",
    "vite": "^6.3.5",
    "vite-plugin-pwa": "^1.0.1",
    "vitest": "^3.2.4"
  },
  "engines": {
    "node": ">=20.0.0"
  }
}
