eas-cli
eas-cli copied to clipboard
Fastest way to build, submit, and update iOS and Android apps
eas-cli
EAS command line tool
- Installation
- Usage
- Commands
Installation
npm install -g eas-cli
# or
yarn global add eas-cli
Enforcing eas-cli version for your project
If you want to enforce the eas-cli
version for your project, use the "cli.version"
field in eas.json. Installing eas-cli
to your project dependencies is strongly discouraged because it may cause dependency conflicts that are difficult to debug.
An example of eas.json that enforces eas-cli
in version 1.0.0
or newer:
{
"cli": {
"version": ">=1.0.0"
},
"build": {
// build profiles
}
"submit": {
// submit profiles
}
}
Learn more: https://docs.expo.dev/build-reference/eas-json/
Usage
eas COMMAND
# runs the command
eas (-v|--version|version)
# prints the version
eas --help COMMAND
# outputs help for specific command
Commands
-
eas account:login
-
eas account:logout
-
eas account:view
-
eas analytics [STATUS]
-
eas autocomplete [SHELL]
-
eas branch:create [NAME]
-
eas branch:delete [NAME]
-
eas branch:list
-
eas branch:rename
-
eas branch:view [NAME]
-
eas build
-
eas build:cancel [BUILD_ID]
-
eas build:configure
-
eas build:inspect
-
eas build:list
-
eas build:submit
-
eas build:version:set
-
eas build:version:sync
-
eas build:view [BUILD_ID]
-
eas channel:create [NAME]
-
eas channel:edit [NAME]
-
eas channel:list
-
eas channel:view [NAME]
-
eas config
-
eas credentials
-
eas database:create
-
eas device:create
-
eas device:delete
-
eas device:list
-
eas device:view [UDID]
-
eas diagnostics
-
eas functions:start
-
eas help [COMMAND]
-
eas init
-
eas login
-
eas logout
-
eas metadata:pull
-
eas metadata:push
-
eas project:info
-
eas project:init
-
eas secret:create
-
eas secret:delete
-
eas secret:list
-
eas submit
-
eas update
-
eas update:configure
-
eas update:delete GROUPID
-
eas update:list
-
eas update:view GROUPID
-
eas webhook:create
-
eas webhook:delete [ID]
-
eas webhook:list
-
eas webhook:update
-
eas webhook:view ID
-
eas whoami
eas account:login
log in with your Expo account
USAGE
$ eas account:login
DESCRIPTION
log in with your Expo account
ALIASES
$ eas login
See code: src/commands/account/login.ts
eas account:logout
log out
USAGE
$ eas account:logout
DESCRIPTION
log out
ALIASES
$ eas logout
See code: src/commands/account/logout.ts
eas account:view
show the username you are logged in as
USAGE
$ eas account:view
DESCRIPTION
show the username you are logged in as
ALIASES
$ eas whoami
See code: src/commands/account/view.ts
eas analytics [STATUS]
display or change analytics settings
USAGE
$ eas analytics [STATUS]
DESCRIPTION
display or change analytics settings
See code: src/commands/analytics.ts
eas autocomplete [SHELL]
display autocomplete installation instructions
USAGE
$ eas autocomplete [SHELL] [-r]
ARGUMENTS
SHELL shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
display autocomplete installation instructions
EXAMPLES
$ eas autocomplete
$ eas autocomplete bash
$ eas autocomplete zsh
$ eas autocomplete --refresh-cache
See code: @expo/plugin-autocomplete
eas branch:create [NAME]
create a branch
USAGE
$ eas branch:create [NAME] [--json]
ARGUMENTS
NAME Name of the branch to create
FLAGS
--json return a json with the new branch ID and name.
DESCRIPTION
create a branch
See code: src/commands/branch/create.ts
eas branch:delete [NAME]
delete a branch
USAGE
$ eas branch:delete [NAME] [--json]
ARGUMENTS
NAME Name of the branch to delete
FLAGS
--json return JSON with the edited branch's ID and name.
DESCRIPTION
delete a branch
See code: src/commands/branch/delete.ts
eas branch:list
list all branches
USAGE
$ eas branch:list [--offset <value>] [--limit <value>] [--json] [--non-interactive]
FLAGS
--json Enable JSON output, non-JSON messages will be printed to stderr.
--limit=<value> The number of query items to list at once. The default value is 50 (the maximum is 100). Using a
lower value may help increase command speed.
--non-interactive Run the command in non-interactive mode.
--offset=<value> Start queries from specified index. Use for paginating results. Defaults to 0.
DESCRIPTION
list all branches
See code: src/commands/branch/list.ts
eas branch:rename
rename a branch
USAGE
$ eas branch:rename [--from <value>] [--to <value>] [--json]
FLAGS
--from=<value> current name of the branch.
--json return a json with the edited branch's ID and name.
--to=<value> new name of the branch.
DESCRIPTION
rename a branch
See code: src/commands/branch/rename.ts
eas branch:view [NAME]
view a branch
USAGE
$ eas branch:view [NAME] [--offset <value>] [--limit <value>] [--json] [--non-interactive]
ARGUMENTS
NAME Name of the branch to view
FLAGS
--json Enable JSON output, non-JSON messages will be printed to stderr.
--limit=<value> The number of query items to list at once. The default value is 50 (the maximum is 100). Using a
lower value may help increase command speed.
--non-interactive Run the command in non-interactive mode.
--offset=<value> Start queries from specified index. Use for paginating results. Defaults to 0.
DESCRIPTION
view a branch
See code: src/commands/branch/view.ts
eas build
start a build
USAGE
$ eas build [-p android|ios|all] [--json] [--profile <value>] [--non-interactive] [--local] [--output
<value>] [--wait] [--clear-cache] [--auto-submit | --auto-submit-with-profile <value>] [-m <value>]
FLAGS
-m, --message=<value> A short message describing the build
-p, --platform=(android|ios|all)
--auto-submit Submit on build complete using the submit profile with the same name as the
build profile
--auto-submit-with-profile=PROFILE_NAME Submit on build complete using the submit profile with provided name
--clear-cache Clear cache before the build
--json Enable JSON output, non-JSON messages will be printed to stderr
--local Run build locally [experimental]
--non-interactive Run command in non-interactive mode
--output=<value> Output path for local build
--profile=PROFILE_NAME Name of the build profile from eas.json. Defaults to "production" if defined
in eas.json.
--[no-]wait Wait for build(s) to complete
DESCRIPTION
start a build
See code: src/commands/build/index.ts
eas build:cancel [BUILD_ID]
cancel a build
USAGE
$ eas build:cancel [BUILD_ID]
DESCRIPTION
cancel a build
See code: src/commands/build/cancel.ts
eas build:configure
configure the project to support EAS Build
USAGE
$ eas build:configure [-p android|ios|all]
FLAGS
-p, --platform=(android|ios|all) Platform to configure
DESCRIPTION
configure the project to support EAS Build
See code: src/commands/build/configure.ts
eas build:inspect
inspect the state of the project at specific build stages, useful for troubleshooting
USAGE
$ eas build:inspect -p android|ios -s archive|pre-build|post-build -o <value> [--profile <value>] [--force] [-v]
FLAGS
-o, --output=OUTPUT_DIRECTORY
(required) Output directory.
-p, --platform=(android|ios)
(required)
-s, --stage=(archive|pre-build|post-build)
(required) Stage of the build you want to inspect.
archive - builds the project archive that would be uploaded to EAS when building
pre-build - prepares the project to be built with Gradle/Xcode. Does not run the native build.
post-build - builds the native project and leaves the output directory for inspection
-v, --verbose
--force
Delete OUTPUT_DIRECTORY if it already exists.
--profile=PROFILE_NAME
Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.
DESCRIPTION
inspect the state of the project at specific build stages, useful for troubleshooting
See code: src/commands/build/inspect.ts
eas build:list
list all builds for your project
USAGE
$ eas build:list [--platform all|android|ios] [--json] [--status
new|in-queue|in-progress|errored|finished|canceled] [--distribution store|internal|simulator] [--channel <value>]
[--appVersion <value>] [--appBuildVersion <value>] [--sdkVersion <value>] [--runtimeVersion <value>]
[--appIdentifier <value>] [--buildProfile <value>] [--gitCommitHash <value>] [--limit <value>]
FLAGS
--appBuildVersion=<value>
--appIdentifier=<value>
--appVersion=<value>
--buildProfile=<value>
--channel=<value>
--distribution=(store|internal|simulator)
--gitCommitHash=<value>
--json Enable JSON output, non-JSON messages will be printed
to stderr
--limit=<value>
--platform=(all|android|ios)
--runtimeVersion=<value>
--sdkVersion=<value>
--status=(new|in-queue|in-progress|errored|finished|canceled)
DESCRIPTION
list all builds for your project
See code: src/commands/build/list.ts
eas build:submit
submit app binary to App Store and/or Play Store
USAGE
$ eas build:submit [-p android|ios|all] [--profile <value>] [--latest | --id <value> | --path <value> | --url
<value>] [--verbose] [--wait] [--non-interactive]
FLAGS
-p, --platform=(android|ios|all)
--id=<value> ID of the build to submit
--latest Submit the latest build for specified platform
--non-interactive Run command in non-interactive mode
--path=<value> Path to the .apk/.aab/.ipa file
--profile=<value> Name of the submit profile from eas.json. Defaults to "production" if defined in
eas.json.
--url=<value> App archive url
--verbose Always print logs from Submission Service
--[no-]wait Wait for submission to complete
DESCRIPTION
submit app binary to App Store and/or Play Store
ALIASES
$ eas build:submit
eas build:version:set
Update version of an app.
USAGE
$ eas build:version:set [-p android|ios] [--profile <value>]
FLAGS
-p, --platform=(android|ios)
--profile=PROFILE_NAME Name of the build profile from eas.json. Defaults to "production" if defined in
eas.json.
DESCRIPTION
Update version of an app.
See code: src/commands/build/version/set.ts
eas build:version:sync
Update a version in native code with a value stored on EAS servers
USAGE
$ eas build:version:sync [-p android|ios|all] [--profile <value>]
FLAGS
-p, --platform=(android|ios|all)
--profile=PROFILE_NAME Name of the build profile from eas.json. Defaults to "production" if defined in
eas.json.
DESCRIPTION
Update a version in native code with a value stored on EAS servers
See code: src/commands/build/version/sync.ts
eas build:view [BUILD_ID]
view a build for your project
USAGE
$ eas build:view [BUILD_ID] [--json]
FLAGS
--json Enable JSON output, non-JSON messages will be printed to stderr
DESCRIPTION
view a build for your project
See code: src/commands/build/view.ts
eas channel:create [NAME]
create a channel
USAGE
$ eas channel:create [NAME] [--json]
ARGUMENTS
NAME Name of the channel to create
FLAGS
--json print output as a JSON object with the new channel ID, name and branch mapping.
DESCRIPTION
create a channel
See code: src/commands/channel/create.ts
eas channel:edit [NAME]
point a channel at a new branch
USAGE
$ eas channel:edit [NAME] [--branch <value>] [--json]
ARGUMENTS
NAME Name of the channel to edit
FLAGS
--branch=<value> Name of the branch to point to
--json Print output as a JSON object with the channel ID, name and branch mapping
DESCRIPTION
point a channel at a new branch
See code: src/commands/channel/edit.ts
eas channel:list
list all channels
USAGE
$ eas channel:list [--json]
FLAGS
--json print output as a JSON object with the channel ID, name and branch mapping.
DESCRIPTION
list all channels
See code: src/commands/channel/list.ts
eas channel:view [NAME]
view a channel
USAGE
$ eas channel:view [NAME] [--json]
ARGUMENTS
NAME Name of the channel to view
FLAGS
--json print output as a JSON object with the channel ID, name and branch mapping.
DESCRIPTION
view a channel
See code: src/commands/channel/view.ts
eas config
display project configuration (app.json + eas.json)
USAGE
$ eas config [-p android|ios] [--profile <value>]
FLAGS
-p, --platform=(android|ios)
--profile=<value>
DESCRIPTION
display project configuration (app.json + eas.json)
See code: src/commands/config.ts
eas credentials
manage credentials
USAGE
$ eas credentials [-p android|ios]
FLAGS
-p, --platform=(android|ios)
DESCRIPTION
manage credentials
See code: src/commands/credentials.ts
eas database:create
create a database
USAGE
$ eas database:create
DESCRIPTION
create a database
See code: src/commands/database/create.ts
eas device:create
register new Apple Devices to use for internal distribution
USAGE
$ eas device:create
DESCRIPTION
register new Apple Devices to use for internal distribution
See code: src/commands/device/create.ts
eas device:delete
remove a registered device from your account
USAGE
$ eas device:delete [--apple-team-id <value>] [--udid <value>]
FLAGS
--apple-team-id=<value>
--udid=<value>...
DESCRIPTION
remove a registered device from your account
See code: src/commands/device/delete.ts
eas device:list
list all registered devices for your account
USAGE
$ eas device:list [--apple-team-id <value>]
FLAGS
--apple-team-id=<value>
DESCRIPTION
list all registered devices for your account
See code: src/commands/device/list.ts
eas device:view [UDID]
view a device for your project
USAGE
$ eas device:view [UDID]
DESCRIPTION
view a device for your project
See code: src/commands/device/view.ts
eas diagnostics
display environment info
USAGE
$ eas diagnostics
DESCRIPTION
display environment info
See code: src/commands/diagnostics.ts
eas functions:start
start a function
USAGE
$ eas functions:start
DESCRIPTION
start a function
See code: src/commands/functions/start.ts
eas help [COMMAND]
Display help for eas.
USAGE
$ eas help [COMMAND] [-n]
ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for eas.
See code: @expo/plugin-help
eas init
create or link an EAS project
USAGE
$ eas init
DESCRIPTION
create or link an EAS project
ALIASES
$ eas init
eas login
log in with your Expo account
USAGE
$ eas login
DESCRIPTION
log in with your Expo account
ALIASES
$ eas login
eas logout
log out
USAGE
$ eas logout
DESCRIPTION
log out
ALIASES
$ eas logout
eas metadata:pull
generate the local store configuration from the app stores
USAGE
$ eas metadata:pull [--profile <value>]
FLAGS
--profile=<value> Name of the submit profile from eas.json. Defaults to "production" if defined in eas.json.
DESCRIPTION
generate the local store configuration from the app stores
See code: src/commands/metadata/pull.ts
eas metadata:push
sync the local store configuration to the app stores
USAGE
$ eas metadata:push [--profile <value>]
FLAGS
--profile=<value> Name of the submit profile from eas.json. Defaults to "production" if defined in eas.json.
DESCRIPTION
sync the local store configuration to the app stores
See code: src/commands/metadata/push.ts
eas project:info
information about the current project
USAGE
$ eas project:info
DESCRIPTION
information about the current project
See code: src/commands/project/info.ts
eas project:init
create or link an EAS project
USAGE
$ eas project:init
DESCRIPTION
create or link an EAS project
ALIASES
$ eas init
See code: src/commands/project/init.ts
eas secret:create
create an environment secret on the current project or owner account
USAGE
$ eas secret:create [--scope account|project] [--name <value>] [--value <value>] [--force]
FLAGS
--force Delete and recreate existing secrets
--name=<value> Name of the secret
--scope=(account|project) [default: project] Scope for the secret
--value=<value> Value of the secret
DESCRIPTION
create an environment secret on the current project or owner account
See code: src/commands/secret/create.ts
eas secret:delete
delete an environment secret by ID
USAGE
$ eas secret:delete [--id <value>]
FLAGS
--id=<value> ID of the secret to delete
DESCRIPTION
delete an environment secret by ID
See code: src/commands/secret/delete.ts
eas secret:list
list environment secrets available for your current app
USAGE
$ eas secret:list
DESCRIPTION
list environment secrets available for your current app
See code: src/commands/secret/list.ts
eas submit
submit app binary to App Store and/or Play Store
USAGE
$ eas submit [-p android|ios|all] [--profile <value>] [--latest | --id <value> | --path <value> | --url
<value>] [--verbose] [--wait] [--non-interactive]
FLAGS
-p, --platform=(android|ios|all)
--id=<value> ID of the build to submit
--latest Submit the latest build for specified platform
--non-interactive Run command in non-interactive mode
--path=<value> Path to the .apk/.aab/.ipa file
--profile=<value> Name of the submit profile from eas.json. Defaults to "production" if defined in
eas.json.
--url=<value> App archive url
--verbose Always print logs from Submission Service
--[no-]wait Wait for submission to complete
DESCRIPTION
submit app binary to App Store and/or Play Store
ALIASES
$ eas build:submit
See code: src/commands/submit.ts
eas update
publish an update group
USAGE
$ eas update [--branch <value>] [--message <value>] [--republish | --input-dir <value> | --skip-bundler]
[--group <value> | | ] [-p android|ios|all] [--json] [--auto] [--private-key-path <value>] [--non-interactive]
FLAGS
-p, --platform=(android|ios|all) [default: all]
--auto Use the current git branch and commit message for the EAS branch and update message
--branch=<value> Branch to publish the update group on
--group=<value> Update group to republish
--input-dir=<value> [default: dist] Location of the bundle
--json Enable JSON output, non-JSON messages will be printed to stderr
--message=<value> A short message describing the update
--non-interactive Run command in non-interactive mode
--private-key-path=<value> File containing the PEM-encoded private key corresponding to the certificate in
expo-updates' configuration. Defaults to a file named "private-key.pem" in the
certificate's directory.
--republish Republish an update group
--skip-bundler Skip running Expo CLI to bundle the app before publishing
DESCRIPTION
publish an update group
See code: src/commands/update/index.ts
eas update:configure
configure the project to support EAS Update
USAGE
$ eas update:configure [-p android|ios|all]
FLAGS
-p, --platform=(android|ios|all) [default: all] Platform to configure
DESCRIPTION
configure the project to support EAS Update
See code: src/commands/update/configure.ts
eas update:delete GROUPID
delete all the updates in an update group
USAGE
$ eas update:delete [GROUPID] [--json]
ARGUMENTS
GROUPID The ID of an update group to delete.
FLAGS
--json Return a json with the group ID of the deleted updates.
DESCRIPTION
delete all the updates in an update group
See code: src/commands/update/delete.ts
eas update:list
view the recent updates for a branch
USAGE
$ eas update:list [--branch <value> | --all] [--json]
FLAGS
--all List all updates associated with this project
--branch=<value> List all updates on this branch
--json Return a json with all of the recent update groups.
DESCRIPTION
view the recent updates for a branch
See code: src/commands/update/list.ts
eas update:view GROUPID
update group details
USAGE
$ eas update:view [GROUPID] [--json]
ARGUMENTS
GROUPID The ID of an update group.
FLAGS
--json Return a json with the updates belonging to the group.
DESCRIPTION
update group details
See code: src/commands/update/view.ts
eas webhook:create
create a webhook
USAGE
$ eas webhook:create [--event BUILD|SUBMIT] [--url <value>] [--secret <value>]
FLAGS
--event=(BUILD|SUBMIT) Event type that triggers the webhook
--secret=<value> Secret used to create a hash signature of the request payload, provided in the
'Expo-Signature' header.
--url=<value> Webhook URL
DESCRIPTION
create a webhook
See code: src/commands/webhook/create.ts
eas webhook:delete [ID]
delete a webhook
USAGE
$ eas webhook:delete [ID]
ARGUMENTS
ID ID of the webhook to delete
DESCRIPTION
delete a webhook
See code: src/commands/webhook/delete.ts
eas webhook:list
list webhooks
USAGE
$ eas webhook:list [--event BUILD|SUBMIT]
FLAGS
--event=(BUILD|SUBMIT) Event type that triggers the webhook
DESCRIPTION
list webhooks
See code: src/commands/webhook/list.ts
eas webhook:update
update a webhook
USAGE
$ eas webhook:update --id <value> [--event BUILD|SUBMIT] [--url <value>] [--secret <value>]
FLAGS
--event=(BUILD|SUBMIT) Event type that triggers the webhook
--id=<value> (required) Webhook ID
--secret=<value> Secret used to create a hash signature of the request payload, provided in the
'Expo-Signature' header.
--url=<value> Webhook URL
DESCRIPTION
update a webhook
See code: src/commands/webhook/update.ts
eas webhook:view ID
view a webhook
USAGE
$ eas webhook:view [ID]
ARGUMENTS
ID ID of the webhook to view
DESCRIPTION
view a webhook
See code: src/commands/webhook/view.ts
eas whoami
show the username you are logged in as
USAGE
$ eas whoami
DESCRIPTION
show the username you are logged in as
ALIASES
$ eas whoami