Expo EAS Build Configuration
Relevant source files
The following files were used as context for generating this wiki page:
The Expo EAS (Expo Application Services) configuration for the Hospice Roadmap project defines the parameters necessary to build, submit, and distribute the native iOS and Android mobile applications. This configuration ensures that the app meets production-ready standards for the Apple App Store, including proper metadata, permissions, and environment-specific settings.
The build system is integrated into a pnpm workspace monorepo, where the mobile application resides in the artifacts/mobile directory. The configuration manages aspects such as app identity, icon assets, splash screens, and required native permissions for features like Ragna (the AI companion).
Sources: replit.md, artifacts/mobile/app.json:1-3, attached_assets/Pasted-Build-a-production-ready-native-iPhone-mobile-app-using_1773627288076.txt
Application Identity and Metadata
The core application identity is managed via the app.json manifest. This file defines the public-facing name, versioning, and internal slugs used by EAS for identification during the build process.
| Field | Value | Description |
|---|---|---|
name | Hospice Roadmap | The display name of the application. |
slug | mobile | The internal Expo project identifier. |
version | 1.0.0 | The current release version. |
scheme | mobile | The URL scheme for deep linking. |
Sources: artifacts/mobile/app.json:3-7
Build Architecture and Assets
The project utilizes a specific asset structure and build workflow to ensure high-quality presentation across devices.
Asset Management
The configuration references specific local assets for the application's visual identity:
- Icons: Located at
./assets/images/app-icon.png, used for the home screen and store listings. - Splash Screen: Configured with a
resizeModeofcontainand a specific background color (#1A1840) to maintain brand consistency during app initialization.
Sources: artifacts/mobile/app.json:8-14
Native Platform Configurations
EAS Build handles platform-specific settings for iOS and Android, primarily focusing on hardware permissions and UI constraints.
The diagram shows how platform-specific permissions in the configuration support the Ragna AI companion functionality.
Sources: artifacts/mobile/app.json:15-24
Web and Environment Settings
While the primary focus is native iOS and Android, the configuration includes a web bundler (Metro) and specific theme colors for web-based previews and manifests.
- Theme Color:
#030A18 - Background Color:
#030A18 - Experiments: The project enables
typedRoutesand thereactCompilerfor enhanced build-time safety and performance.
Sources: artifacts/mobile/app.json:25-46
Deployment and Distribution Workflow
The build process is designed to output static artifacts that can be served via a standalone production server. This is particularly relevant for Replit development and testing environments.
Build Artifact Distribution
The project includes a server (serve.js) designed to serve the output of static builds. This server identifies the target platform via the expo-platform header to deliver the correct manifest.json.
This sequence shows how the server facilitates the distribution of EAS-generated manifests to mobile clients.
Ignored Build Files
To maintain repo hygiene, the project configures .gitignore to exclude build artifacts and local environment settings from source control.
.eas(EAS configuration and metadata)artifacts/mobile/.expo(Expo internal build state)artifacts/mobile/dist(Native build distribution)artifacts/mobile/web-build(Web build output)
Sources: attached_assets/Pasted-Make-a-focused-repo-cleanup-and-dependency-hygiene-pass_1774842983742.txt
Conclusion
The Expo EAS configuration for Hospice Roadmap provides a structured foundation for moving from a development environment to a production-ready native application. By centralizing permissions, asset paths, and experimental features in app.json and managing build artifacts through ignored directories and specialized distribution servers, the project maintains the scalability required for a healthcare platform.