Eas Cli

Fastest way to build, submit, and update iOS and Android apps

Mobile App DevelopmentTypeScriptMIT

Abstract

Eas Cli is an open-source Mobile App Development project. Fastest way to build, submit, and update iOS and Android apps. EAS CLI is the command-line interface for Expo Application Services (EAS): deeply integrated cloud services for Expo and React Native apps, from the team behind Expo. It is built using TypeScript, Android, Expo. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Mobile App Development mini project or final-year project.

1. Introduction

EAS CLI is the command-line interface for Expo Application Services (EAS): deeply integrated cloud services for Expo and React Native apps, from the team behind Expo.

EAS CLI is designed to be installed globally or run with npx. Installing eas-cli into project dependencies is strongly discouraged because it can cause dependency conflicts that are difficult to debug.

Ship Expo and React Native apps from your terminal: build, submit, update, deploy, and automate with EAS.

2. Objective

Fastest way to build, submit, and update iOS and Android apps

This project demonstrates how TypeScript, Android, Expo can be applied to a real-world Mobile App Development problem.

4. Technology Stack

TypeScriptAndroidExpo

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Node.js (LTS) and npm / yarn / pnpm
  • VS Code or any code editor
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/expo/eas-cli.git
cd eas-cli
npm install --global eas-cli
eas login
eas init
# Compile installable Android and iOS binaries in the cloud
eas build --platform all

# Submit the latest builds to Google Play and the App Store
eas submit --platform all

# Push an over-the-air update to your users
eas update --branch production --message "Fix checkout crash"
npx eas-cli@latest build --platform ios
USAGE
  $ eas account:usage [ACCOUNT_NAME] [--json] [--non-interactive]

ARGUMENTS
  [ACCOUNT_NAME]  Account name to view usage for. If not provided, the account will be selected interactively (or
                  defaults to the only account if there is just one)

FLAGS
  --json             Enable JSON output, non-JSON messages will be printed to stderr.
  --non-interactive  Run the command in non-interactive mode.

DESCRIPTION
  view account usage and billing for the current cycle

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add push notifications with Firebase Cloud Messaging
  • Add offline support with local caching
  • Publish an internal test build on the Play Store

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which framework is used and why (native vs cross-platform)?
  2. How is app state managed across screens?
  3. Where is the data stored — locally, Firebase or a REST backend?
  4. How are permissions (camera, location, storage) handled?
  5. How would you publish this app to the Play Store / App Store?

9. Source Code & License

This project is developed by expo and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Mobile App Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Mobile App Development Internship