Skip to main content

Source of Truth

The mobile build workflow is defined by these files:
  • apps/mobile/package.json
  • apps/mobile/scripts/eas-build.mjs
  • apps/mobile/eas.json
  • apps/mobile/app.config.js
  • apps/mobile/app.json

Modes

The mobile app has two config modes:
ModeTriggerUse case
developmentpnpm dev, pnpm dev:lan, pnpm dev:tunnelLocal Expo Go development
productionpnpm start:eas, all EAS build scripts, and EAS cloud buildsDev client, preview, production, and App Store submission
apps/mobile/app.config.js reads EXPO_CONFIG_MODE and strips EAS-only fields in development mode. In production mode it keeps the full EAS configuration intact. apps/mobile/metro.config.js is shared across both modes; the build scripts do not switch Metro to a separate config file.

Commands

Run these commands from apps/mobile:
PurposeCommand
Expo Go dev serverpnpm dev
Expo Go dev server over LANpnpm dev:lan
Expo Go dev server over tunnelpnpm dev:tunnel
Local production configpnpm start:eas
EAS dev client buildpnpm eas:build:dev
EAS preview buildpnpm eas:build:preview
Production buildpnpm eas:build
Production build without compute fingerprintingpnpm eas:build:no-fingerprint
Production build and auto-submit to TestFlightpnpm eas:build:submit
Production build, skip compute fingerprinting, and auto-submitpnpm eas:build:submit:no-fingerprint
Show build statuspnpm eas:status
Submit an existing buildpnpm eas:submit

Production Runner

apps/mobile/scripts/eas-build.mjs is the only production build entry point. It always runs the production iOS profile and supports two optional flags:
  • --auto-submit
  • --skip-fingerprint
It also forwards extra EAS arguments after --. Examples:
pnpm eas:build
pnpm eas:build:no-fingerprint
pnpm eas:build:submit
pnpm eas:build:submit:no-fingerprint
pnpm eas:build -- --clear-cache

EAS Rules

  • apps/mobile/eas.json sets EXPO_CONFIG_MODE=production for all EAS profiles.
  • EXPO_USE_FAST_RESOLVER=1 stays enabled for EAS builds.
  • Fingerprint skipping is opt-in only. It is no longer hardcoded into the production profile.
  • iOS production builds use the default Expo-managed EAS workflow.