{ "name": "armada", "private": true, "version": "0.1.0", "type": "module", "scripts": { "dev": "vite", "electron:dev": "scripts/dev-electron.sh", "gen:icons": "node scripts/gen-icons.mjs", "build": "vite build -l error && cp dist/index.html dist/404.html", "build:profile": "VITE_PROFILE=1 npm run build", "perf:profile": "node scripts/perf-profile.mjs", "build:electron-db": "vite build -l error -c vite.config.electron.ts", "build:electron-update": "vite build -l error -c vite.config.electron-update.ts", "build:electron": "npm run build:electron-db && npm run build:electron-update", "deploy:nsite": "npm run build && nsyte deploy dist --prompt-sec", "i18n:extract": "node scripts/i18n.mjs extract", "i18n:check": "node scripts/i18n.mjs check", "test": "tsc --noEmit && eslint --cache . && npm run i18n:check && vitest run --passWithNoTests --reporter=dot && vite build -l error && npm run build:electron", "test:perf": "ARMADA_TEST_PERF=1 vitest run --passWithNoTests", "test:e2e": "playwright test", "build:wasm": "node scripts/build-wasm.mjs", "predev": "npm run build:wasm", "prebuild": "npm run build:wasm" }, "engines": { "node": ">=22" }, "dependencies": { "@capacitor-community/safe-area": "^8.0.1", "@capacitor/android": "^8.5.3", "@capacitor/app": "^8.0.0", "@capacitor/clipboard": "^8.0.1", "@capacitor/core": "^8.5.3", "@capacitor/filesystem": "^8.1.2", "@capacitor/haptics": "^8.0.2", "@capacitor/ios": "^8.5.3", "@capacitor/keyboard": "^8.0.5", "@capacitor/share": "^8.0.1", "@capacitor/status-bar": "^8.0.2", "@emoji-mart/data": "^1.2.1", "@formatjs/intl": "^4.2.1", "@getalby/sdk": "^8.0.3", "@hookform/resolvers": "^5.2.2", "@livekit/components-react": "^2.9.20", "@livekit/components-styles": "^1.2.0", "@noble/ciphers": "^2.1.1", "@noble/curves": "^2.0.1", "@noble/hashes": "^1.8.0", "@nostrify/indexeddb": "^0.2.1", "@nostrify/nostrify": "^0.54.1", "@nostrify/react": "^0.6.6", "@nostrify/types": "^0.37.0", "@radix-ui/react-alert-dialog": "^1.1.1", "@radix-ui/react-checkbox": "^1.1.1", "@radix-ui/react-collapsible": "^1.1.0", "@radix-ui/react-context-menu": "^2.2.16", "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-label": "^2.1.0", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-scroll-area": "^1.1.0", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-slider": "^1.2.0", "@radix-ui/react-slot": "^1.1.0", "@radix-ui/react-switch": "^1.1.0", "@radix-ui/react-toast": "^1.2.1", "@radix-ui/react-toggle-group": "^1.1.0", "@radix-ui/react-tooltip": "^1.2.8", "@sapphi-red/web-noise-suppressor": "^0.3.5", "@scure/base": "^2.2.0", "@scure/btc-signer": "^2.2.0", "@tanstack/react-query": "^5.56.2", "@webxdc/types": "^2.2.0", "blurhash": "^2.0.5", "capacitor-plugin-nostr-signer": "^0.2.0", "capacitor-secure-storage-plugin": "^0.13.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.0.0", "date-fns": "^3.6.0", "emoji-mart": "^5.6.0", "fflate": "^0.8.3", "gifenc": "^1.0.3", "gifuct-js": "^2.1.2", "highlight.js": "^11.11.2", "idb": "^8.0.3", "light-bolt11-decoder": "^3.2.0", "livekit-client": "^2.17.2", "lowlight": "^3.3.0", "lucide-react": "^1.8.0", "mediabunny": "^1.51.0", "nostr-tools": "^2.13.0", "qrcode": "^1.5.4", "react": "^19.2.4", "react-day-picker": "^9.14.0", "react-dom": "^19.2.4", "react-easy-crop": "^6.0.2", "react-hook-form": "^7.71.1", "react-intl": "^10.2.2", "react-router-dom": "^7.18.2", "smol-toml": "^1.7.0", "tailwind-merge": "^2.5.2", "tailwindcss-animate": "^1.0.7", "three": "^0.186.0", "twemoji-colr-font": "15.0.3", "vaul": "^1.1.2", "zod": "^4.3.6" }, "devDependencies": { "@capacitor/cli": "^8.1.0", "@eslint/js": "^9.9.0", "@formatjs/cli": "^6.16.34", "@formatjs/icu-messageformat-parser": "^3.5.21", "@jellybrick/dbus-next": "^0.11.3", "@playwright/test": "^1.62.1", "@tailwindcss/typography": "^0.5.15", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.2", "@types/hast": "^3.0.5", "@types/node": "^22.5.5", "@types/qrcode": "^1.5.5", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/three": "^0.186.0", "@vitejs/plugin-react": "^6.0.1", "@webbtc/webln-types": "^3.0.0", "autoprefixer": "^10.4.20", "eslint": "^9.9.0", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.9", "fake-indexeddb": "^6.2.5", "globals": "^15.9.0", "js-yaml": "^5.2.3", "jsdom": "^26.1.0", "playwright": "^1.62.1", "postcss": "^8.4.47", "tailwindcss": "^3.4.11", "typescript": "^5.5.3", "typescript-eslint": "^8.0.1", "vite": "^8.0.3", "vitest": "^4.1.12" }, "overrides": { "react": "$react", "react-dom": "$react-dom", "postcss-selector-parser": "^7.1.6" } }