Configure EAS Build and fix expo-doctor issues

- Add eas.json with development, preview, and production profiles
- Link project to EAS (projectId: 93c75cae-fecf-4ce5-8cd8-c823760b12e2)
- Add expo-dev-client, expo-constants, expo-linking dependencies
- Remove eas-cli from project deps (use globally)
- Add ITSAppUsesNonExemptEncryption to iOS infoPlist
- Use catalog react with expo.install.exclude to skip version check
- Fix slug to match EAS project registration
- Run pnpm dedupe to resolve duplicate react across workspaces

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

View file

@ -3,7 +3,7 @@ import { ExpoConfig, ConfigContext } from "expo/config";
export default ({ config }: ConfigContext): ExpoConfig => ({
...config,
name: "trails.cool",
slug: "trails-cool",
slug: "mobile",
version: "0.0.1",
scheme: "trailscool",
orientation: "portrait",
@ -21,6 +21,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
NSAppTransportSecurity: {
NSAllowsLocalNetworking: true,
},
ITSAppUsesNonExemptEncryption: false,
},
},
android: {
@ -34,4 +35,9 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
favicon: "./assets/favicon.png",
},
plugins: ["expo-router", "expo-secure-store", "expo-web-browser"],
extra: {
eas: {
projectId: "93c75cae-fecf-4ce5-8cd8-c823760b12e2",
},
},
});

24
apps/mobile/eas.json Normal file
View file

@ -0,0 +1,24 @@
{
"cli": {
"version": ">= 18.0.0",
"appVersionSource": "remote"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": true
}
},
"preview": {
"distribution": "internal"
},
"production": {
"autoIncrement": true
}
},
"submit": {
"production": {}
}
}

View file

@ -3,6 +3,11 @@
"version": "0.0.1",
"private": true,
"main": "index.ts",
"expo": {
"install": {
"exclude": ["react"]
}
},
"scripts": {
"start": "expo start",
"android": "expo start --android",
@ -10,7 +15,9 @@
"web": "expo start --web",
"typecheck": "tsc --noEmit",
"test": "jest",
"lint": "eslint ."
"lint": "eslint .",
"build:dev": "eas build --profile development --platform ios",
"build:preview": "eas build --profile preview --platform all"
},
"jest": {
"preset": "jest-expo",
@ -25,12 +32,15 @@
"@trails-cool/map-core": "workspace:*",
"@trails-cool/types": "workspace:*",
"expo": "~55.0.14",
"expo-constants": "~55.0.13",
"expo-crypto": "~55.0.14",
"expo-dev-client": "~55.0.27",
"expo-linking": "~55.0.12",
"expo-router": "~55.0.12",
"expo-secure-store": "~55.0.13",
"expo-status-bar": "~55.0.5",
"expo-web-browser": "~55.0.14",
"react": "19.2.0",
"react": "catalog:",
"react-native": "0.83.4",
"react-native-safe-area-context": "~5.6.2",
"react-native-screens": "~4.23.0",

View file

@ -6,7 +6,7 @@
- [x] 1.1.2 Configure pnpm workspace to include `apps/mobile` and resolve shared packages (`@trails-cool/types`, `@trails-cool/gpx`, `@trails-cool/i18n`)
- [x] 1.1.3 Set up Expo Router with bottom tab navigation (Map, Routes, Activities, Profile) and placeholder screens
- [x] 1.1.4 Add app icon, splash screen, and `app.config.ts` with bundle identifiers for iOS and Android
- [ ] 1.1.5 Configure EAS Build for development and preview profiles
- [x] 1.1.5 Configure EAS Build for development and preview profiles
### 1.2 API Contract Package

1249
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff