{ "name": "@fressh/mobile", "version": "0.0.4", "private": true, "main": "expo-router/entry", "type": "module", "scripts": { "fmt": "cross-env SORT_IMPORTS=true prettier --write .", "fmt:check": "cross-env SORT_IMPORTS=true prettier --check .", "lint": "eslint --fix --max-warnings 0 --report-unused-disable-directives .", "lint:check": "eslint --max-warnings 0 --report-unused-disable-directives .", "typecheck": "tsc", "android": "expo run:android --port 8082", "ios": "expo run:ios --port 8081", "dev:android:release": "expo run:android --port 8082 --variant release", "dev:ios:release": "expo run:ios --port 8081 --variant release", "build:signed:aab": "tsx scripts/signed-build.ts", "build:signed:apk": "tsx scripts/signed-build.ts --format apk", "build:aab": "cd android && ./gradlew bundleRelease", "build:apk": "cd android && ./gradlew assembleRelease", "prebuild": "expo prebuild", "prebuild:clean": "expo prebuild --clean", "expo:dep:check": "expo install --fix", "expo:doctor": "pnpm dlx expo-doctor@latest", "test:e2e": "maestro test test/e2e/", "adb:logs": "while ! adb logcat --pid=$(adb shell pidof -s dev.fressh.app); do sleep 1; done", "release": "GITHUB_TOKEN=$(gh auth token) release-it", "release:dry": "release-it --dry-run" }, "dependencies": { "@expo/vector-icons": "^15.0.2", "@fressh/assets": "workspace:*", "@fressh/react-native-uniffi-russh": "workspace:*", "@fressh/react-native-xtermjs-webview": "workspace:*", "@react-native-segmented-control/segmented-control": "2.5.7", "@react-navigation/bottom-tabs": "^7.4.0", "@react-navigation/elements": "^2.6.4", "@react-navigation/native": "^7.1.8", "@shopify/flash-list": "2.0.2", "@tanstack/react-form": "^1.20.0", "@tanstack/react-query": "^5.89.0", "date-fns": "^4.1.0", "expo": "54.0.12", "expo-clipboard": "~8.0.7", "expo-constants": "~18.0.9", "expo-crypto": "~15.0.7", "expo-dev-client": "~6.0.13", "expo-document-picker": "~14.0.7", "expo-file-system": "~19.0.16", "expo-font": "~14.0.8", "expo-glass-effect": "^0.1.4", "expo-haptics": "~15.0.7", "expo-image": "~3.0.9", "expo-linking": "~8.0.8", "expo-router": "6.0.10", "expo-secure-store": "~15.0.7", "expo-splash-screen": "~31.0.10", "expo-status-bar": "~3.0.8", "expo-symbols": "~1.0.7", "expo-system-ui": "~6.0.7", "react": "19.1.0", "react-dom": "19.1.0", "react-native": "0.81.4", "react-native-gesture-handler": "~2.28.0", "react-native-keyboard-controller": "1.18.5", "react-native-logs": "^5.5.0", "react-native-mmkv": "^3.3.1", "react-native-reanimated": "~4.1.2", "react-native-safe-area-context": "~5.6.1", "react-native-screens": "~4.16.0", "react-native-web": "~0.21.1", "react-native-webview": "13.15.0", "react-native-worklets": "~0.5.1", "zod": "^4.1.9", "zustand": "^5.0.8" }, "devDependencies": { "@epic-web/config": "^1.21.3", "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0", "@eslint-react/eslint-plugin": "^1.53.0", "@eslint/js": "^9.35.0", "@release-it/conventional-changelog": "^10.0.1", "@tanstack/eslint-plugin-query": "^5.86.0", "@types/react": "~19.1.12", "@typescript-eslint/parser": "^8.44.0", "@typescript-eslint/utils": "^8.43.0", "cmd-ts": "^0.14.1", "eslint": "^9.35.0", "eslint-config-expo": "~10.0.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-compiler": "19.1.0-rc.2", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "globals": "^16.4.0", "jiti": "^2.5.1", "npm-run-all": "^4.1.5", "prettier": "^3.6.2", "prettier-plugin-organize-imports": "^4.2.0", "release-it": "^19.0.4", "release-it-pnpm": "^4.6.6", "tsx": "^4.20.5", "typescript": "~5.9.2", "typescript-eslint": "^8.44.0" }, "expo": { "doctor": { "reactNativeDirectoryCheck": { "exclude": [ "@dylankenneally/react-native-ssh-sftp" ] } } } }