{ "name": "iris", "private": true, "version": "2.5.1", "type": "module", "packageManager": "pnpm@9.15.0", "engines": { "node": ">=20.0.0" }, "repository": "https://git.iris.to/#/npub1xdhnr9mrv47kkrn95k6cwecearydeh8e895990n3acntwvmgk2dsdeeycm/iris-client", "homepage": "https://git.iris.to/#/npub1xdhnr9mrv47kkrn95k6cwecearydeh8e895990n3acntwvmgk2dsdeeycm/iris-client", "bugs": { "url": "https://git.iris.to/#/npub1xdhnr9mrv47kkrn95k6cwecearydeh8e895990n3acntwvmgk2dsdeeycm/iris-client?tab=issues" }, "description": "Nostr client", "author": "Martti Malmi", "license": "MIT", "scripts": { "dev": "vite", "dev:local": "VITE_USE_LOCAL_RELAY=true vite", "dev:test": "VITE_USE_TEST_RELAY=true vite", "dev:relay": "pnpm relay:start -- --seed 80000 --port 7777", "relay:start": "tsx dev-relay/node-relay.ts", "start": "vite", "prebuild": "tsx ./scripts/updateSocialGraph.ts || true", "build": "tsc && vite build --mode production", "build:dev": "tsx ./scripts/updateSocialGraph.ts; tsc && vite build --mode development", "build:analyze": "tsc && vite build --mode production && echo '\n📦 Bundle Analysis:' && cat build/stats-list.txt", "knip": "knip", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --fix", "preview": "vite preview", "pretest": "playwright install --with-deps chromium", "test": "vitest run && playwright test --reporter=list", "test:unit": "vitest run", "test:ci": "vitest run && playwright test --reporter=list", "test:ci:e2e": "playwright test --reporter=list,html", "test:local": "vitest run && playwright test --reporter=list --workers=1", "test:ui": "playwright test --ui", "test:ui:testrelay": "VITE_USE_TEST_RELAY=true playwright test --ui", "test:performance": "VITE_USE_TEST_RELAY=true playwright test tests/performance/ --reporter=list", "test:performance:prod": "playwright test tests/performance/ --reporter=list", "performance:baseline": "tsx ./scripts/performance-baseline.ts", "lighthouse": "pnpm build && node ./scripts/lighthouse-test.js", "lighthouse:json": "pnpm build && node ./scripts/lighthouse-test.js --json", "lighthouse:open": "pnpm build && node ./scripts/lighthouse-test.js --open", "smoke:portable": "node ./scripts/smoke-iris-portable.mjs", "devpublish": "node ./scripts/devpublish-iris.mjs", "devpublish:iris": "node ./scripts/devpublish-iris.mjs", "publish:iris": "node ./scripts/publish-iris-build.mjs", "release:iris": "node ./scripts/release-site.mjs", "format": "prettier --write \"**/*.+(js|jsx|tsx|json|yml|yaml|css|md)\"", "format:check": "prettier --check \"**/*.+(js|jsx|tsx|json|yml|yaml|css|md)\"", "typecheck": "tsc --noEmit" }, "build": { "extends": null, "appId": "com.nestr", "mac": { "icon": "src/assets/nest-logo-no-name.png" }, "win": { "icon": "src/assets/nest-logo-no-name.png" }, "nsis": { "installerIcon": "src/assets/nest-logo-no-name.png" }, "files": [ "dist/**/*", "build/**/*", "node_modules/**/*", "package.json" ], "directories": { "buildResources": "assets" } }, "dependencies": { "@cashu/cashu-ts": "^2.7.2", "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", "@gandlaf21/bc-ur": "^1.1.12", "@hashtree/core": "^0.1.1", "@hashtree/index": "^0.1.3", "@noble/curves": "^1.9.7", "@noble/hashes": "^1.8.0", "@remixicon/react": "^4.6.0", "@scure/base": "^1.2.6", "@types/leaflet": "^1.9.20", "blurhash": "^2.0.5", "classnames": "^2.5.1", "debug": "^4.3.7", "dexie": "^4.2.1", "emoji-mart": "^5.6.0", "fuse.js": "^7.1.0", "hls.js": "^1.6.10", "jsqr": "^1.4.0", "leaflet": "^1.9.4", "light-bolt11-decoder": "^3.2.0", "localforage": "^1.10.0", "lodash": "^4.17.21", "markdown-to-jsx": "^7.7.13", "minidenticons": "^4.2.1", "nostr-double-ratchet": "^0.0.138", "nostr-social-graph": "^1.0.33", "nostr-tools": "^2.16.2", "nostr-wasm": "^0.1.0", "qrcode": "^1.5.4", "react": "^19.1.1", "react-dom": "^19.1.1", "react-helmet": "^6.1.0", "react-string-replace": "^1.1.1", "tseep": "^1.3.1", "typescript-lru-cache": "^2.0.0", "zustand": "^5.0.8" }, "devDependencies": { "@playwright/test": "^1.55.0", "@tailwindcss/container-queries": "^0.1.1", "@tailwindcss/typography": "^0.5.16", "@types/config": "^3.3.5", "@types/debug": "^4.1.12", "@types/lodash": "^4.17.20", "@types/qrcode": "^1.5.5", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "@types/react-helmet": "^6.1.11", "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.9.0", "@vitejs/plugin-react": "^5.0.1", "autoprefixer": "^10.4.21", "config": "^4.1.1", "daisyui": "^4.12.23", "eslint": "^8.57.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.20", "fake-indexeddb": "^6.2.5", "jsdom": "^26.1.0", "knip": "^5.63.0", "lighthouse": "12", "node-fetch": "^3.3.2", "postcss": "^8.5.6", "prettier": "^3.6.2", "rollup-plugin-visualizer": "^6.0.3", "tailwindcss": "^3.4.10", "tsx": "^4.20.4", "typescript": "^5.9.2", "vite": "^7.1.3", "vite-plugin-node-polyfills": "^0.24.0", "vite-plugin-pwa": "^1.0.3", "vitest": "^3.2.4", "workbox-cacheable-response": "^7.4.0", "workbox-core": "^7.4.0", "workbox-expiration": "^7.4.0", "workbox-precaching": "^7.4.0", "workbox-routing": "^7.4.0", "workbox-strategies": "^7.4.0", "ws": "^8.19.0" }, "resolutions": { "@noble/curves": "^1.9.7", "@noble/hashes": "^1.8.0", "@scure/base": "^1.2.6", "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "nostr-tools": "^2.16.2", "dexie": "^4.2.0" } }