fix(traces): configure EAS Build for TestFlight and fix bot-services build

Traces:
- Change bundle ID from com.memoro.locations to com.mana.traces
- Update BGTask identifiers to match new bundle ID
- Add react-native-worklets dependency for reanimated compatibility
- Configure eas.json with monorepo-optimized build settings
- Add pnpm patch for reanimated 4.1.x to accept worklets 0.7.x
- Skip auto-fingerprint on EAS (pnpm hoisted mode)
- Disable default cache paths to avoid ENOENT

Bot-services:
- Add types: ["node"] to tsconfig to prevent RN type conflicts in hoisted mode

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-17 13:16:38 +01:00
parent d4c11920c2
commit 3dc6ec13a4
7 changed files with 1164 additions and 1750 deletions

View file

@ -43,7 +43,7 @@
"assetBundlePatterns": ["**/*"], "assetBundlePatterns": ["**/*"],
"ios": { "ios": {
"supportsTablet": true, "supportsTablet": true,
"bundleIdentifier": "com.memoro.locations", "bundleIdentifier": "com.mana.traces",
"icon": "./assets/traces.icon", "icon": "./assets/traces.icon",
"infoPlist": { "infoPlist": {
"NSLocationWhenInUseUsageDescription": "Diese App benötigt Zugriff auf Ihren Standort, um standortbezogene Funktionen anzubieten.", "NSLocationWhenInUseUsageDescription": "Diese App benötigt Zugriff auf Ihren Standort, um standortbezogene Funktionen anzubieten.",
@ -52,8 +52,8 @@
"NSPhotoLibraryUsageDescription": "Diese App benötigt Zugriff auf Ihre Fotos, um GPS-Daten aus Bildern zu extrahieren.", "NSPhotoLibraryUsageDescription": "Diese App benötigt Zugriff auf Ihre Fotos, um GPS-Daten aus Bildern zu extrahieren.",
"UIBackgroundModes": ["location", "fetch", "processing"], "UIBackgroundModes": ["location", "fetch", "processing"],
"BGTaskSchedulerPermittedIdentifiers": [ "BGTaskSchedulerPermittedIdentifiers": [
"com.memoro.locations.locationupdatetask", "com.mana.traces.locationupdatetask",
"com.memoro.locations.locationprocessingtask" "com.mana.traces.locationprocessingtask"
] ]
}, },
"config": { "config": {
@ -65,7 +65,7 @@
"foregroundImage": "./assets/adaptive-icon.png", "foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff" "backgroundColor": "#ffffff"
}, },
"package": "com.memoro.locations", "package": "com.mana.traces",
"permissions": [ "permissions": [
"ACCESS_COARSE_LOCATION", "ACCESS_COARSE_LOCATION",
"ACCESS_FINE_LOCATION", "ACCESS_FINE_LOCATION",

View file

@ -1,27 +1,36 @@
{ {
"cli": { "cli": {
"version": ">= 16.0.0", "version": ">= 16.17.4",
"appVersionSource": "remote" "appVersionSource": "remote"
}, },
"build": { "build": {
"development": { "base": {
"developmentClient": true, "node": "22.15.0",
"distribution": "internal", "pnpm": "10.18.1",
"ios": { "env": {
"image": "latest" "PNPM_WORKSPACE_ROOT": "../..",
"EAS_BUILD": "true",
"EAS_SKIP_AUTO_FINGERPRINT": "1"
},
"cache": {
"disabled": false,
"key": "v1",
"cacheDefaultPaths": false,
"customPaths": ["node_modules", "../../../../node_modules"]
} }
}, },
"development": {
"extends": "base",
"developmentClient": true,
"distribution": "internal"
},
"preview": { "preview": {
"distribution": "internal", "extends": "base",
"ios": { "distribution": "internal"
"image": "latest"
}
}, },
"production": { "production": {
"autoIncrement": true, "extends": "base",
"ios": { "autoIncrement": true
"image": "latest"
}
} }
}, },
"submit": { "submit": {

View file

@ -40,6 +40,7 @@
"react-native-gesture-handler": "~2.28.0", "react-native-gesture-handler": "~2.28.0",
"react-native-maps": "1.20.1", "react-native-maps": "1.20.1",
"react-native-reanimated": "~4.1.1", "react-native-reanimated": "~4.1.1",
"react-native-worklets": "~0.6.1",
"react-native-safe-area-context": "~5.6.0", "react-native-safe-area-context": "~5.6.0",
"react-native-screens": "~4.16.0", "react-native-screens": "~4.16.0",
"react-native-web": "~0.21.0" "react-native-web": "~0.21.0"

View file

@ -9,8 +9,8 @@ const SAVE_ADDRESS_KEY = 'save_address_enabled';
// Definiere Task-Namen // Definiere Task-Namen
export const BACKGROUND_LOCATION_TASK = 'background-location-task'; export const BACKGROUND_LOCATION_TASK = 'background-location-task';
export const LOCATION_UPDATE_TASK = 'com.memoro.locations.locationupdatetask'; export const LOCATION_UPDATE_TASK = 'com.mana.traces.locationupdatetask';
export const LOCATION_PROCESSING_TASK = 'com.memoro.locations.locationprocessingtask'; export const LOCATION_PROCESSING_TASK = 'com.mana.traces.locationprocessingtask';
// Helper function to generate UUID // Helper function to generate UUID
const generateUUID = (): string => { const generateUUID = (): string => {

View file

@ -3,6 +3,7 @@
"target": "ES2022", "target": "ES2022",
"module": "CommonJS", "module": "CommonJS",
"lib": ["ES2022"], "lib": ["ES2022"],
"types": ["node"],
"declaration": true, "declaration": true,
"strict": true, "strict": true,
"noImplicitAny": true, "noImplicitAny": true,

View file

@ -0,0 +1,13 @@
diff --git a/compatibility.json b/compatibility.json
index abcdef0..1234567 100644
--- a/compatibility.json
+++ b/compatibility.json
@@ -5,7 +5,7 @@
},
"4.1.x": {
"react-native": ["0.78", "0.79", "0.80", "0.81", "0.82"],
- "react-native-worklets": ["0.5.x", "0.6.x"]
+ "react-native-worklets": ["0.5.x", "0.6.x", "0.7.x"]
},
"4.0.x": {
"react-native": ["0.78", "0.79", "0.80", "0.81"],

2850
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff