Add all native dependencies for remaining phases

Batch-install native modules to minimize EAS build credits:
- @maplibre/maplibre-react-native — map view for routes (Phase 3)
- @sentry/react-native — crash reporting and error tracking
- expo-sqlite — offline route storage (Phase 5)
- expo-notifications — push notifications (Phase 7)
- expo-location — GPS for activity recording (future)

All registered as Expo config plugins. Requires one new EAS build
to include the native modules.

Also:
- Use npx eas-cli in build scripts (not global eas)
- Add pnpm dev:ios / dev:android root scripts using eas build:dev
- Fix expo-doctor: add expo-constants, expo-linking, dedupe react

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-04-13 01:47:33 +02:00
parent 204fd7084b
commit dd06d2f231
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
6 changed files with 390 additions and 15 deletions

View file

@ -34,7 +34,14 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
web: {
favicon: "./assets/favicon.png",
},
plugins: ["expo-router", "expo-secure-store", "expo-web-browser"],
plugins: [
"expo-router",
"expo-secure-store",
"expo-web-browser",
"@maplibre/maplibre-react-native",
"@sentry/react-native",
"expo-sqlite",
],
extra: {
eas: {
projectId: "93c75cae-fecf-4ce5-8cd8-c823760b12e2",

View file

@ -16,6 +16,14 @@
},
"production": {
"autoIncrement": true
},
"development-simulator": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": true
},
"environment": "development"
}
},
"submit": {

View file

@ -5,7 +5,9 @@
"main": "index.ts",
"expo": {
"install": {
"exclude": ["react"]
"exclude": [
"react"
]
}
},
"scripts": {
@ -16,8 +18,8 @@
"typecheck": "tsc --noEmit",
"test": "jest",
"lint": "eslint .",
"build:dev": "eas build --profile development --platform ios",
"build:preview": "eas build --profile preview --platform all"
"build:dev": "npx eas-cli build:dev --platform ios",
"build:preview": "npx eas-cli build --profile preview --platform all"
},
"jest": {
"preset": "jest-expo",
@ -26,6 +28,8 @@
]
},
"dependencies": {
"@maplibre/maplibre-react-native": "^10.4.2",
"@sentry/react-native": "~7.11.0",
"@trails-cool/api": "workspace:*",
"@trails-cool/gpx": "workspace:*",
"@trails-cool/i18n": "workspace:*",
@ -36,14 +40,18 @@
"expo-crypto": "~55.0.14",
"expo-dev-client": "~55.0.27",
"expo-linking": "~55.0.12",
"expo-location": "~55.1.8",
"expo-notifications": "~55.0.18",
"expo-router": "~55.0.12",
"expo-secure-store": "~55.0.13",
"expo-sqlite": "~55.0.15",
"expo-status-bar": "~55.0.5",
"expo-web-browser": "~55.0.14",
"react": "catalog:",
"react-native": "0.83.4",
"react-native-safe-area-context": "~5.6.2",
"react-native-screens": "~4.23.0",
"use-latest-callback": "^0.3.3",
"zod": "^3.25.76"
},
"devDependencies": {