{ "name": "@follow/mobile", "version": "0.4.1", "private": true, "main": "src/main.tsx", "scripts": { "android": "expo run:android", "bump": "vv", "dev": "npm run start", "e2e:android": "sh ./e2e/run-maestro.sh android", "e2e:bootstrap:ios:auth": "tsx scripts/e2e-prod-ios-auth-bootstrap.ts", "e2e:bootstrap:ios:prod-auth": "pnpm run e2e:bootstrap:ios:auth", "e2e:doctor": "sh -c 'for f in e2e/flows/shared/*.yaml e2e/flows/android/*.yaml e2e/flows/ios/*.yaml; do maestro check-syntax $f; done'", "e2e:ios": "sh ./e2e/run-maestro.sh ios", "e2e:ios:bootstrap": "sh ./e2e/run-maestro.sh ios bootstrap-auth", "eas-build-post-install": "rm -rf $TMPDIR/metro-cache", "eas-build-pre-install": "command -v pod >/dev/null 2>&1 && pod repo update || echo 'CocoaPods not found, skipping pod repo update'", "ios": "expo run:ios", "ios:device": "expo run:ios --device", "start": "expo start --dev-client", "start:clean": "expo start --dev-client --clear", "typecheck": "tsc --noEmit", "update": "tsx scripts/expo-update.ts", "update:bundle": "node ../../.github/scripts/build-ota-release.mjs", "update:export": "expo export -p ios -p android --output-dir dist", "web": "expo start --web" }, "dependencies": { "@better-auth/expo": "1.5.5", "@expo/metro-runtime": "6.1.2", "@expo/react-native-action-sheet": "4.1.1", "@follow-app/client-sdk": "catalog:", "@follow/components": "workspace:*", "@follow/constants": "workspace:*", "@follow/database": "workspace:*", "@follow/hooks": "workspace:*", "@follow/models": "workspace:*", "@follow/shared": "workspace:*", "@follow/store": "workspace:*", "@follow/tracker": "workspace:*", "@follow/types": "workspace:*", "@follow/utils": "workspace:*", "@gorhom/portal": "1.0.14", "@hookform/resolvers": "5.2.2", "@react-native-community/image-editor": "4.3.0", "@react-native-firebase/analytics": "22.2.1", "@react-native-firebase/app": "22.2.1", "@react-native-firebase/app-check": "22.2.1", "@react-native-firebase/messaging": "22.2.1", "@react-native-masked-view/masked-view": "0.3.2", "@react-native-menu/menu": "2.0.0", "@react-native-picker/picker": "2.11.1", "@shopify/flash-list": "2.0.2", "@tanstack/query-sync-storage-persister": "5.90.22", "@tanstack/react-query": "5.90.21", "@tanstack/react-query-persist-client": "5.90.22", "@types/qrcode": "1.5.6", "better-auth": "1.5.5", "camelcase-keys": "10.0.2", "dayjs": "1.11.19", "dnum": "2.17.0", "es-toolkit": "1.44.0", "expo": "54.0.33", "expo-apple-authentication": "8.0.8", "expo-application": "7.0.8", "expo-background-task": "1.0.10", "expo-blur": "15.0.8", "expo-build-properties": "1.0.10", "expo-clipboard": "8.0.8", "expo-constants": "18.0.13", "expo-dev-client": "6.0.20", "expo-device": "8.0.10", "expo-document-picker": "14.0.8", "expo-file-system": "19.0.21", "expo-glass-effect": "0.1.9", "expo-haptics": "15.0.8", "expo-iap": "2.5.0", "expo-image": "3.0.11", "expo-image-manipulator": "14.0.8", "expo-image-picker": "~17.0.10", "expo-linear-gradient": "15.0.8", "expo-linking": "8.0.11", "expo-localization": "17.0.8", "expo-media-library": "18.2.1", "expo-network": "8.0.8", "expo-notifications": "0.32.16", "expo-secure-store": "15.0.8", "expo-sharing": "14.0.8", "expo-splash-screen": "31.0.13", "expo-sqlite": "16.0.10", "expo-status-bar": "3.0.9", "expo-store-review": "~9.0.9", "expo-symbols": "1.0.8", "expo-system-ui": "6.0.9", "expo-task-manager": "14.0.9", "expo-updates": "29.0.16", "expo-video": "3.0.16", "expo-web-browser": "15.0.10", "franc-min": "6.2.0", "i18next": "25.8.6", "jotai": "2.17.1", "lru-cache": "11.2.6", "nanoid": "5.1.6", "nativewind": "4.2.1", "ofetch": "1.5.1", "posthog-react-native": "4.34.0", "qrcode": "1.5.4", "react": "19.0.0", "react-dom": "19.0.0", "react-error-boundary": "6.1.0", "react-hook-form": "7.71.1", "react-i18next": "16.5.4", "react-native": "0.81.5", "react-native-awesome-slider": "2.9.0", "react-native-bouncy-checkbox": "4.1.4", "react-native-color-matrix-image-filters": "8.0.2", "react-native-device-info": "15.0.1", "react-native-edge-to-edge": "1.7.0", "react-native-gesture-handler": "2.28.0", "react-native-image-colors": "2.5.1", "react-native-ios-context-menu": "3.2.1", "react-native-ios-utilities": "5.2.0", "react-native-keyboard-controller": "1.18.5", "react-native-otp-entry": "1.8.5", "react-native-pager-view": "6.9.1", "react-native-reanimated": "4.1.6", "react-native-root-siblings": "5.0.1", "react-native-safe-area-context": "5.6.2", "react-native-screens": "4.16.0", "react-native-sheet-transitions": "0.1.2", "react-native-svg": "15.12.1", "react-native-track-player": "4.1.1", "react-native-uikit-colors": "0.6.2", "react-native-volume-manager": "2.0.8", "react-native-web": "0.21.2", "react-native-webview": "13.15.0", "react-native-worklets": "0.5.1", "shiki": "3.22.0", "tailwindcss": "3.4.17", "title-case": "4.3.2", "use-sync-external-store": "1.6.0", "usehooks-ts": "3.1.1", "zeego": "3.0.6", "zod": "3.25.76", "zustand": "5.0.11" }, "devDependencies": { "@babel/core": "7.29.0", "@follow/configs": "workspace:*", "@types/react": "19.1.17", "babel-plugin-inline-import": "3.0.0", "eas-cli": "16.26.0", "expo-drizzle-studio-plugin": "0.2.1", "nbump": "2.1.8", "postcss": "8.5.6", "sf-symbols-typescript": "2.2.0", "typescript": "catalog:" }, "appName": "Folo", "expo": { "autolinking": { "nativeModulesDir": "./native" }, "doctor": { "appConfigFieldsNotSyncedCheck": { "enabled": false }, "reactNativeDirectoryCheck": { "enabled": true, "exclude": [ "react-native-track-player", "follow-native", "react-native-color-matrix-image-filters" ], "listUnknownPackages": false } } } }