trails/apps/mobile/app.config.ts
Ullrich Schäfer 532b22c5c0
Complete Expo SDK 56 upgrade
- Upgrade expo, expo-router, expo-dev-client, expo-crypto, expo-localization,
  expo-location, expo-navigation-bar, expo-notifications, expo-secure-store,
  expo-status-bar, expo-system-ui, expo-web-browser to SDK 56 versions
- Upgrade react-native 0.83.4 → 0.85.3
- Upgrade TypeScript 5.9 → 6.0.3 (required by SDK 56)
- Add react-native-worklets (required peer dep for react-native-reanimated)
- Remove expo-dev-menu as a direct dependency (transitive, managed by Expo)
- Move splash config from top-level ExpoConfig to expo-splash-screen plugin
  (ExpoConfig.splash was removed in SDK 56 types)
- Add expo-localization and expo-splash-screen to plugins array
- Fix metro.config.js watchFolders to merge with Expo defaults instead of
  overwriting them (fixes expo-doctor Metro config check)
- Add types: ["jest"] to tsconfig.json (required for jest globals in TS 6)
- Exclude @sentry/react-native from Expo version validation (bundledNativeModules
  has a stale entry; Sentry 8.x officially supports Expo 51+ and RN 0.73+)

expo-doctor: 18/18 checks passed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 11:52:11 +02:00

57 lines
1.3 KiB
TypeScript

import { ExpoConfig, ConfigContext } from "expo/config";
type ExpoConfigWithNewArch = ExpoConfig & { newArchEnabled?: boolean };
export default ({ config }: ConfigContext): ExpoConfigWithNewArch => ({
...config,
name: "trails.cool",
slug: "mobile",
version: "0.0.1",
scheme: "trailscool",
newArchEnabled: true,
orientation: "portrait",
icon: "./assets/icon.png",
userInterfaceStyle: "light",
ios: {
supportsTablet: true,
bundleIdentifier: "cool.trails.app",
infoPlist: {
NSAppTransportSecurity: {
NSAllowsLocalNetworking: true,
},
ITSAppUsesNonExemptEncryption: false,
},
},
android: {
adaptiveIcon: {
foregroundImage: "./assets/adaptive-icon.png",
backgroundColor: "#ffffff",
},
package: "cool.trails.app",
},
web: {
favicon: "./assets/favicon.png",
},
plugins: [
"expo-router",
"expo-localization",
["expo-splash-screen", {
image: "./assets/splash-icon.png",
resizeMode: "contain",
backgroundColor: "#ffffff",
}],
"expo-secure-store",
"expo-web-browser",
"@maplibre/maplibre-react-native",
["@sentry/react-native", {
organization: "trails-qq",
project: "mobile",
}],
"expo-sqlite",
],
extra: {
eas: {
projectId: "93c75cae-fecf-4ce5-8cd8-c823760b12e2",
},
},
});