Live video on the AT Protocol
1{
2 "name": "streamplace",
3 "main": "./src/entrypoint.tsx",
4 "version": "0.6.20",
5 "runtimeVersion": "0.4.3",
6 "scripts": {
7 "upgrade:tamagui": "yarn up '*tamagui*'@latest '@tamagui/*'@latest",
8 "upgrade:tamagui:canary": "yarn up '*tamagui*'@canary '@tamagui/*'@canary",
9 "start": "npx expo start -c --port 38081",
10 "android": "expo run:android --port 38081 \"$@\"",
11 "ios": "expo run:ios --port 38081",
12 "web": "npx expo start --web --port 38081",
13 "test": "jest --watchAll",
14 "build": "yarn run build:web && yarn run prebuild",
15 "build:web": "yarn run export && node exportClientExpoConfig.js > dist/expoConfig.json",
16 "export": "expo export --dump-sourcemap || expo export --dump-sourcemap",
17 "check": "bash -c 'set -euo pipefail;export OUT=$(mktemp -d); npx tsc -p . --outDir $OUT; rm -rf $OUT'",
18 "prebuild": "EXPO_NO_GIT_STATUS=1 expo prebuild --clean && sed -i.bak 's/org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m/org.gradle.jvmargs=-Xmx8192m -XX:MaxMetaspaceSize=2048m/' android/gradle.properties && yarn run find-node",
19 "postinstall": "which pod && yarn run postinstall-ios || echo 'not a mac, not installing pods'",
20 "postinstall-ios": "cd ios && pod install && yarn run find-node",
21 "find-node": "node -p '`NODE_BINARY=${process.argv[0]}`' > ios/.xcode.env.local",
22 "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'"
23 },
24 "jest": {
25 "preset": "jest-expo"
26 },
27 "dependencies": {
28 "@atproto-labs/pipe": "^0.1.0",
29 "@atproto/crypto": "^0.4.2",
30 "@atproto/jwk-jose": "^0.1.2",
31 "@atproto/oauth-client": "^0.3.1",
32 "@bacons/text-decoder": "^0.0.0",
33 "@emoji-mart/react": "^1.1.1",
34 "@rainbow-me/rainbowkit": "2.2.0",
35 "@react-native-firebase/app": "^21.3.0",
36 "@react-native-firebase/messaging": "^21.3.0",
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 "@tamagui/config": "^1.123.17",
44 "@tamagui/lucide-icons": "^1.123.17",
45 "@tamagui/toast": "^1.123.17",
46 "@tanstack/react-query": "^5.59.19",
47 "@zxing/browser": "^0.1.5",
48 "@zxing/library": "^0.21.3",
49 "abortcontroller-polyfill": "^1.7.6",
50 "babel-preset-expo": "~12.0.0",
51 "burnt": "^0.12.2",
52 "chrono-node": "^2.7.7",
53 "color-contrast-checker": "^2.1.0",
54 "emoji-mart": "^5.6.0",
55 "event-target-shim": "^6.0.2",
56 "expo": "~52.0.8",
57 "expo-build-properties": "~0.13.1",
58 "expo-dev-client": "~5.0.3",
59 "expo-file-system": "~18.0.4",
60 "expo-font": "~13.0.1",
61 "expo-keep-awake": "~14.0.2",
62 "expo-linking": "~7.0.3",
63 "expo-notifications": "~0.29.8",
64 "expo-splash-screen": "~0.29.11",
65 "expo-sqlite": "~15.0.3",
66 "expo-status-bar": "~2.0.0",
67 "expo-system-ui": "~4.0.3",
68 "expo-updates": "~0.26.7",
69 "expo-video": "~2.0.1",
70 "expo-web-browser": "^14.0.1",
71 "hls.js": "^1.5.17",
72 "jose": "^5.9.6",
73 "multiformats": "^13.3.1",
74 "qrcode": "^1.5.4",
75 "quietjs-bundle": "^0.1.3",
76 "react": "18.3.1",
77 "react-dom": "18.3.1",
78 "react-native": "0.76.2",
79 "react-native-gesture-handler": "~2.20.2",
80 "react-native-markdown-display": "^7.0.2",
81 "react-native-quick-crypto": "^0.7.7",
82 "react-native-reanimated": "~3.16.1",
83 "react-native-safe-area-context": "4.12.0",
84 "react-native-screens": "~4.1.0",
85 "react-native-svg": "15.8.0",
86 "react-native-web": "^0.19.13",
87 "react-native-webrtc": "^124.0.4",
88 "react-native-webview": "13.12.4",
89 "react-redux": "^9.1.2",
90 "react-use-websocket": "^4.13.0",
91 "reanimated-color-picker": "^4.0.0",
92 "rtcaudiodevice": "git+https://github.com/streamplace/RTCAudioDevice.git#7b4659fe845545d366623cbc813936987144b76f",
93 "tamagui": "^1.123.17",
94 "ua-parser-js": "^2.0.0-rc.1",
95 "uuid": "^11.0.2",
96 "viem": "^2.21.40",
97 "wagmi": "2.12.25"
98 },
99 "devDependencies": {
100 "@babel/core": "^7.26.0",
101 "@babel/plugin-proposal-export-default-from": "^7.25.9",
102 "@babel/plugin-syntax-export-default-from": "^7.25.9",
103 "@babel/plugin-transform-flow-strip-types": "^7.25.9",
104 "@babel/plugin-transform-private-methods": "^7.25.9",
105 "@babel/plugin-transform-private-property-in-object": "^7.25.9",
106 "@babel/plugin-transform-runtime": "^7.25.9",
107 "@config-plugins/react-native-webrtc": "^10.0.0",
108 "@expo/metro-config": "~0.19.0",
109 "@expo/metro-runtime": "~4.0.0",
110 "@tamagui/babel-plugin": "^1.123.17",
111 "@tamagui/metro-plugin": "^1.123.17",
112 "@types/babel__plugin-transform-runtime": "^7",
113 "@types/qrcode": "^1",
114 "@types/react": "~18.3.12",
115 "@types/uuid": "^10.0.0",
116 "typescript": "~5.3.3"
117 },
118 "private": true
119}