{
"name": "favela-android",
"version": "0.1.12",
"description": "favela-android \u2014 a React Native client over a bare-kit worklet running a FULL favela node (hyper-proto-peer + appview + hyperswarm) on the phone. favela-web is reference for the logic, NOT the rendering: this is a different rendering surface. See spec/architecture.md.",
"private": true,
"type": "module",
"main": "lib/node.js",
"scripts": {
"pack:worklet": "bare-pack --preset android --defer bare-abstract-socket --out android/app/src/main/assets/worklet.bundle lib/node.js",
"stage:addons": "node scripts/stage-addons.mjs",
"prebuild:android": "npm run pack:worklet && npm run stamp:worklet && npm run gen:tree && npm run stage:addons",
"test": "bare test/first-run.test.mjs && bare test/hosting.test.mjs && bare test/bundle-by-name.test.mjs && bare test/repair-store-backend.test.mjs && bare test/mint.test.mjs && bare test/adopt.test.mjs && bare test/ipc.test.mjs && bare test/session.test.mjs && bare test/favela-api.test.mjs && bare test/lifecycle.test.mjs && bare test/roster.test.mjs && bare test/describe.test.mjs && bare test/shell.test.mjs && bare test/ota.test.mjs && bare test/ota-e2e.test.mjs",
"stamp:worklet": "node -e \"const fs=require('fs');const p='android/app/src/main/assets/worklet.bundle';fs.writeFileSync(p+'.size',String(fs.statSync(p).size));fs.writeFileSync(p+'.built',String(Date.now()))\"",
"gen:tree": "bare scripts/gen-tree-manifest.mjs",
"gen:apk-tree": "bare scripts/gen-tree-manifest.mjs --in favela-android.apk --out apk.tree.json --name favela-android.apk"
},
"dependencies": {
"atproto-identity": "file:../atproto-identity",
"atproto-store": "file:../atproto-store",
"b4a": "1.8.1",
"bare-fetch": "3.0.1",
"bare-fs": "4.7.4",
"bare-path": "3.1.1",
"bare-process": "4.5.1",
"blind-pairing": "2.3.1",
"corestore": "7.11.0",
"favela-web": "file:../favela-web",
"hyper-proto-peer": "file:../hyper-proto-peer",
"hyper-svc": "file:../hyper-svc",
"hyperbee": "2.27.3",
"hyperswarm": "4.17.0",
"keet-identity-key": "3.2.0",
"pgh": "file:../pgh",
"pgh-runtime": "file:../pgh-runtime"
},
"pgh": {
"note": "Not a pgh app. The deliverable is an APK, installed by Android's package manager. pgh-runtime is used INSIDE the app for worklet-bundle OTA only \u2014 see spec/architecture.md \u00a72 and favela-web/spec/mobile-node.md \u00a77."
},
"overrides": {
"hypercore": "11.34.0",
"hypercore-storage": "3.2.0",
"rocksdb-native": "3.17.2"
},
"devDependencies": {
"@hyperswarm/testnet": "^3.1.4",
"@react-native-community/cli": "^20.2.0",
"@react-native/babel-preset": "^0.86.2",
"@react-native/metro-config": "^0.86.2",
"hyper-overlay": "file:../hyper-overlay"
},
"peerDependencies": {
"react": "^19.2.8",
"react-native": "^0.86.2",
"react-native-bare-kit": "^0.14.5",
"react-native-fs": "^2.20.0",
"react-native-webview": "^14.0.1"
}
}