- 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>
57 lines
1.3 KiB
TypeScript
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",
|
|
},
|
|
},
|
|
});
|