WELIFE Docs Swagger Admin Web

EAS Build — CON · DRV · PAR (WP-EAS-01 / DRV / PAR)

Windows TLS: always set before eas / npx eas-cli:

$env:NODE_OPTIONS='--use-system-ca'

Account: adminmarketingnx · Expo login: npx eas-cli login

Projects

Surface Path Expo project package / bundle
CON mobile/ @adminmarketingnx/welife-consumer cloud.minhtien.welife
DRV driver/ @adminmarketingnx/welife-driver cloud.minhtien.welife.driver
PAR partner/ @adminmarketingnx/welife-partner cloud.minhtien.welife.partner

Profiles (*/eas.json)

Profile Artifact EXPO_PUBLIC_ENV API
development APK + dev client development api.minhtien.cloud
staging APK internal staging (+ API_DEBUG=1) same
preview APK internal production same
production AAB production same

Expo Go vs development build (media library)

Android 13+ / Expo SDK 54: Expo Go không còn full expo-media-library.

Việc Expo Go Dev Client (eas profile development) / store
Chọn 1 ảnh (expo-image-picker / pickFromLibrary) OK OK
Duyệt/lưu album (expo-media-library) Không — dùng ImagePicker OK
$env:NODE_OPTIONS='--use-system-ca'
cd mobile
npx eas-cli build --profile development --platform android

Cài APK → npx expo start --dev-client (hoặc npm run start:lan sau khi gắn expo-dev-client).

Code guard: ensureMediaLibrary() trả expo_go_limited trên Expo Go — không gọi native MediaLibrary.

Build commands

$env:NODE_OPTIONS='--use-system-ca'

# Consumer
cd mobile
npm run eas:preview:android
# or: npx eas-cli build --profile preview --platform android --non-interactive --no-wait

# Driver
cd ../driver
npm run eas:preview:android

# Partner
cd ../partner
npm run eas:preview:android

.easignore in each app excludes monorepo siblings (Windows EPERM on junctions).

Owner once (credentials)

Play Console — ảnh / video (không khai READ_MEDIA_*)

Chọn ảnh eKYC / đính kèm = một lần → Android Photo Picker. Không xin READ_MEDIA_IMAGES / READ_MEDIA_VIDEO.
app.json → android.blockedPermissions. Play form «Photo and video permissions»: chọn not using these permissions / photo picker.

.\gradlew assembleRelease mặc định Expo prebuild ký debug.keystore → Play báo signed in debug mode.

Status (2026-08-14)

Hub: STATUS.md.

WP Config Cloud APK
WP-EAS-01 CON IMP (projectId + profiles) finished — 845b6a3d… · APK
WP-EAS-DRV-01 IMP (projectId linked) finished — 18716e82… · APK
WP-EAS-PAR-01 IMP (projectId linked) finished — e0e55329… · APK

Monorepo gotcha

Root .easignore must not ignore /mobile /driver /partner — EAS unpacks to workingdir/build/<app> and needs package.json there. First DRV/PAR fails were package.json does not exist in .../build/driver.