trails/apps/mobile/app.config.ts
Ullrich Schäfer 42a9c29c84
Set up Sentry crash reporting for mobile app
- Initialize @sentry/react-native with dedicated mobile project DSN
- Wrap root layout with Sentry.wrap() for unhandled error capture
- Configure Sentry plugin with org (trails-qq) and project (mobile)
  for source map uploads during EAS builds
- Disabled in dev, full tracing in production

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 02:07:44 +02:00

53 lines
1.2 KiB
TypeScript

import { ExpoConfig, ConfigContext } from "expo/config";
export default ({ config }: ConfigContext): ExpoConfig => ({
...config,
name: "trails.cool",
slug: "mobile",
version: "0.0.1",
scheme: "trailscool",
orientation: "portrait",
icon: "./assets/icon.png",
userInterfaceStyle: "light",
splash: {
image: "./assets/splash-icon.png",
resizeMode: "contain",
backgroundColor: "#ffffff",
},
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-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",
},
},
});