Live video on the AT Protocol
1{
2 "name": "@streamplace/app",
3 "main": "./src/entrypoint.tsx",
4 "version": "0.7.24",
5 "runtimeVersion": "0.7.2",
6 "scripts": {
7 "start": "npx expo start -c --port 38081",
8 "android": "expo run:android --no-bundler",
9 "ios": "expo run:ios --no-bundler",
10 "web": "npx expo start --web --port 38081",
11 "test": "jest --watchAll",
12 "build": "pnpm run build:web && pnpm run prebuild",
13 "build:web": "pnpm run export && node exportClientExpoConfig.js > dist/expoConfig.json",
14 "export": "expo export --dump-sourcemap || expo export --dump-sourcemap",
15 "check": "bash -c 'set -euo pipefail;export OUT=$(mktemp -d); npx tsc -p . --outDir $OUT; rm -rf $OUT'",
16 "prebuild": "EXPO_NO_GIT_STATUS=1 expo prebuild --clean && sed -i.bak 's/org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m/org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m/' android/gradle.properties && pnpm run find-node",
17 "prepare": "which pod && pnpm run prepare-ios || echo 'not a mac, not installing pods'",
18 "prepare-ios": "cd ios && pod install && pnpm run find-node",
19 "find-node": "node -p '`NODE_BINARY=${process.argv[0]}`' > ios/.xcode.env.local",
20 "code-signing-dev": "mkdir -p code-signing-dev/keys code-signing-dev/certs && expo-updates codesigning:generate --key-output-directory code-signing-dev/keys --certificate-output-directory code-signing-dev/certs --certificate-validity-duration-years 10 --certificate-common-name 'Streamplace'"
21 },
22 "jest": {
23 "preset": "jest-expo"
24 },
25 "dependencies": {
26 "@atproto-labs/pipe": "^0.1.1",
27 "@atproto/api": "^0.16.7",
28 "@atproto/crypto": "^0.4.4",
29 "@atproto/jwk-jose": "^0.1.10",
30 "@atproto/jwk-webcrypto": "^0.1.10",
31 "@atproto/oauth-client": "^0.5.5",
32 "@atproto/oauth-client-browser": "^0.3.31",
33 "@bacons/text-decoder": "^0.0.0",
34 "@emoji-mart/react": "^1.1.1",
35 "@react-native-firebase/app": "^22.2.1",
36 "@react-native-firebase/messaging": "^22.2.1",
37 "@react-navigation/bottom-tabs": "^6.6.1",
38 "@react-navigation/drawer": "^6.7.2",
39 "@react-navigation/native": "^6.1.18",
40 "@react-navigation/native-stack": "^6.11.0",
41 "@reduxjs/toolkit": "^2.3.0",
42 "@streamplace/atproto-oauth-client-react-native": "workspace:*",
43 "@streamplace/components": "workspace:*",
44 "@tamagui/config": "^1.126.16",
45 "@tamagui/lucide-icons": "^1.126.16",
46 "@tamagui/toast": "^1.126.16",
47 "@tanstack/react-query": "^5.59.19",
48 "@zxing/browser": "^0.1.5",
49 "@zxing/library": "^0.21.3",
50 "abortcontroller-polyfill": "^1.7.6",
51 "babel-preset-expo": "~13.0.0",
52 "buffer": "^6.0.3",
53 "burnt": "^0.12.2",
54 "chrono-node": "2.7.7",
55 "color-contrast-checker": "^2.1.0",
56 "emoji-mart": "^5.6.0",
57 "event-target-shim": "^6.0.2",
58 "expo": "~53.0.11",
59 "expo-build-properties": "~0.14.6",
60 "expo-dev-client": "~5.2.0",
61 "expo-file-system": "~18.1.10",
62 "expo-font": "~13.3.1",
63 "expo-keep-awake": "~14.1.4",
64 "expo-linking": "~7.1.5",
65 "expo-notifications": "~0.31.3",
66 "expo-splash-screen": "~0.30.9",
67 "expo-sqlite": "~15.2.12",
68 "expo-system-ui": "~5.0.8",
69 "expo-updates": "~0.28.14",
70 "expo-video": "~2.2.1",
71 "expo-web-browser": "^14.1.6",
72 "hls.js": "^1.5.17",
73 "jose": "^5.9.6",
74 "multiformats": "^13.3.1",
75 "qrcode": "^1.5.4",
76 "quietjs-bundle": "^0.1.3",
77 "react": "19.0.0",
78 "react-dom": "19.0.0",
79 "react-native": "0.79.3",
80 "react-native-edge-to-edge": "^1.6.2",
81 "react-native-gesture-handler": "~2.26.0",
82 "react-native-markdown-display": "^7.0.2",
83 "react-native-quick-crypto": "^0.7.14",
84 "react-native-reanimated": "~3.18.0",
85 "react-native-safe-area-context": "5.4.1",
86 "react-native-screens": "~4.11.1",
87 "react-native-svg": "15.12.0",
88 "react-native-web": "^0.20.0",
89 "react-native-webrtc": "git+https://github.com/streamplace/react-native-webrtc.git#6b8472a771ac47f89217d327058a8a4124a6ae56",
90 "react-native-webview": "13.15.0",
91 "react-redux": "^9.1.2",
92 "react-use-websocket": "^4.13.0",
93 "reanimated-color-picker": "^4.0.0",
94 "rtcaudiodevice": "git+https://github.com/streamplace/RTCAudioDevice.git#918e08a0f6f0818fb495a0db0b696b44d11d1336",
95 "stream-http": "^3.2.0",
96 "streamplace": "workspace:*",
97 "tamagui": "^1.126.16",
98 "ua-parser-js": "^2.0.0-rc.1",
99 "uuid": "^11.0.2",
100 "viem": "^2.21.44"
101 },
102 "devDependencies": {
103 "@babel/core": "^7.26.0",
104 "@babel/plugin-proposal-export-default-from": "^7.25.9",
105 "@babel/plugin-syntax-export-default-from": "^7.25.9",
106 "@babel/plugin-transform-flow-strip-types": "^7.25.9",
107 "@babel/plugin-transform-private-methods": "^7.25.9",
108 "@babel/plugin-transform-private-property-in-object": "^7.25.9",
109 "@babel/plugin-transform-runtime": "^7.25.9",
110 "@config-plugins/react-native-webrtc": "^10.0.0",
111 "@expo/metro-config": "~0.19.0",
112 "@expo/metro-runtime": "~5.0.4",
113 "@tamagui/babel-plugin": "^1.126.16",
114 "@tamagui/metro-plugin": "^1.126.16",
115 "@types/babel__plugin-transform-runtime": "^7",
116 "@types/qrcode": "^1",
117 "@types/react": "~18.3.12",
118 "@types/uuid": "^10.0.0",
119 "typescript": "~5.3.3"
120 },
121 "private": true
122}