mirror of
https://github.com/expo/eas-cli.git
synced 2026-11-14 10:08:06 -10:00
Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78345ef0e8 | ||
|
|
afca14d953 | ||
|
|
c1ba62473a |
No files matched your search
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"npmClient": "yarn",
|
||||
"useWorkspaces": true,
|
||||
"version": "0.1.0-alpha.4"
|
||||
"version": "0.1.0-alpha.7"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@eas/config",
|
||||
"description": "A library for interacting with the eas.json",
|
||||
"version": "0.1.0-alpha.4",
|
||||
"version": "0.1.0-alpha.7",
|
||||
"author": "Expo <[email protected]>",
|
||||
"bugs": "https://github.com/expo/eas-cli/issues",
|
||||
"dependencies": {
|
||||
|
||||
+51
-30
@@ -21,7 +21,7 @@ $ npm install -g eas-cli
|
||||
$ eas COMMAND
|
||||
running command...
|
||||
$ eas (-v|--version|version)
|
||||
eas-cli/0.1.0-alpha.4 darwin-x64 node-v12.16.2
|
||||
eas-cli/0.1.0-alpha.7 darwin-x64 node-v12.13.0
|
||||
$ eas --help [COMMAND]
|
||||
USAGE
|
||||
$ eas COMMAND
|
||||
@@ -44,7 +44,6 @@ USAGE
|
||||
* [`eas device:create`](#eas-devicecreate)
|
||||
* [`eas help [COMMAND]`](#eas-help-command)
|
||||
* [`eas release:create [RELEASENAME]`](#eas-releasecreate-releasename)
|
||||
* [`eas release:publish`](#eas-releasepublish)
|
||||
* [`eas update:show`](#eas-updateshow)
|
||||
|
||||
## `eas account:login`
|
||||
@@ -59,6 +58,8 @@ ALIASES
|
||||
$ eas login
|
||||
```
|
||||
|
||||
_See code: [build/commands/account/login.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/account/login.ts)_
|
||||
|
||||
## `eas account:logout`
|
||||
|
||||
log out
|
||||
@@ -71,6 +72,8 @@ ALIASES
|
||||
$ eas logout
|
||||
```
|
||||
|
||||
_See code: [build/commands/account/logout.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/account/logout.ts)_
|
||||
|
||||
## `eas account:view`
|
||||
|
||||
show the username you are logged in as
|
||||
@@ -83,6 +86,8 @@ ALIASES
|
||||
$ eas whoami
|
||||
```
|
||||
|
||||
_See code: [build/commands/account/view.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/account/view.ts)_
|
||||
|
||||
## `eas build`
|
||||
|
||||
build an app binary for your project
|
||||
@@ -92,6 +97,8 @@ USAGE
|
||||
$ eas build
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/index.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/build/index.ts)_
|
||||
|
||||
## `eas build:configure`
|
||||
|
||||
Configure the project to support EAS Build.
|
||||
@@ -104,6 +111,8 @@ OPTIONS
|
||||
-p, --platform=(android|ios|all) [default: all] Platform to configure
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/configure.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/build/configure.ts)_
|
||||
|
||||
## `eas build:create`
|
||||
|
||||
Start a build
|
||||
@@ -121,6 +130,8 @@ OPTIONS
|
||||
--wait Wait for build(s) to complete
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/create.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/build/create.ts)_
|
||||
|
||||
## `eas build:status`
|
||||
|
||||
get the status of the latest builds for your project
|
||||
@@ -134,6 +145,8 @@ OPTIONS
|
||||
--status=(in-queue|in-progress|errored|finished)
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/status.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/build/status.ts)_
|
||||
|
||||
## `eas build:submit`
|
||||
|
||||
Submits build artifact to app store
|
||||
@@ -143,41 +156,47 @@ USAGE
|
||||
$ eas build:submit
|
||||
|
||||
OPTIONS
|
||||
-p, --platform=(android|ios) (required) For which platform you want to submit a build
|
||||
-p, --platform=(android|ios) (required) For which platform you want to submit a
|
||||
build
|
||||
|
||||
--android-package=android-package Android package name (using expo.android.package from
|
||||
app.json by default)
|
||||
Android specific options=android-package Android package name (using expo.android.package
|
||||
from app.json by default)
|
||||
|
||||
--app-apple-id=app-apple-id App Store Connect unique application Apple ID number.
|
||||
iOS specific options=app-apple-id App Store Connect unique application Apple ID
|
||||
number.
|
||||
|
||||
--apple-app-specific-password=apple-app-specific-password Your Apple ID app-specific password. You can also set
|
||||
EXPO_APPLE_APP_SPECIFIC_PASSWORD env variable.
|
||||
iOS specific options=apple-app-specific-password Your Apple ID app-specific password. You can also
|
||||
set EXPO_APPLE_APP_SPECIFIC_PASSWORD env variable.
|
||||
|
||||
--apple-id=apple-id Your Apple ID username (you can also set EXPO_APPLE_ID env
|
||||
variable)
|
||||
iOS specific options=apple-id Your Apple ID username (you can also set
|
||||
EXPO_APPLE_ID env variable)
|
||||
|
||||
--id=id ID of the build to submit
|
||||
--id=id ID of the build to submit
|
||||
|
||||
--key=key Path to the JSON key used to authenticate with Google Play
|
||||
Android specific options=key Path to the JSON key used to authenticate with
|
||||
Google Play
|
||||
|
||||
--latest Submit the latest build
|
||||
--latest Submit the latest build
|
||||
|
||||
--path=path Path to the .apk/.aab file
|
||||
--path=path Path to the .apk/.aab file
|
||||
|
||||
--release-status=(completed|draft|halted|inProgress) [default: completed] Release status (used when uploading
|
||||
new apks/aabs), choose from: completed, draft, halted,
|
||||
inProgress
|
||||
Android specific options=(completed|draft|halted|inProgress) [default: completed] Release status (used when
|
||||
uploading new apks/aabs), choose from: completed,
|
||||
draft, halted, inProgress
|
||||
|
||||
--track=(production|beta|alpha|internal|rollout) [default: internal] The track of the application to use,
|
||||
choose from: production, beta, alpha, internal, rollout
|
||||
Android specific options=(production|beta|alpha|internal|rollout) [default: internal] The track of the application to
|
||||
use, choose from: production, beta, alpha,
|
||||
internal, rollout
|
||||
|
||||
--type=(apk|aab) Android archive type
|
||||
Android specific options=(apk|aab) Android archive type
|
||||
|
||||
--url=url App archive url
|
||||
--url=url App archive url
|
||||
|
||||
--verbose Always print logs from Submission Service
|
||||
--verbose Always print logs from Submission Service
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/submit.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/build/submit.ts)_
|
||||
|
||||
## `eas credentials`
|
||||
|
||||
Manage your credentials
|
||||
@@ -187,6 +206,8 @@ USAGE
|
||||
$ eas credentials
|
||||
```
|
||||
|
||||
_See code: [build/commands/credentials.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/credentials.ts)_
|
||||
|
||||
## `eas device:create`
|
||||
|
||||
register new Apple Devices to use for internal distribution
|
||||
@@ -196,6 +217,8 @@ USAGE
|
||||
$ eas device:create
|
||||
```
|
||||
|
||||
_See code: [build/commands/device/create.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/device/create.ts)_
|
||||
|
||||
## `eas help [COMMAND]`
|
||||
|
||||
display help for eas
|
||||
@@ -223,16 +246,12 @@ USAGE
|
||||
|
||||
ARGUMENTS
|
||||
RELEASENAME Name of the release to create
|
||||
|
||||
OPTIONS
|
||||
--json return a json with the new release ID and name.
|
||||
```
|
||||
|
||||
## `eas release:publish`
|
||||
|
||||
Publish an updateGroup on a release.
|
||||
|
||||
```
|
||||
USAGE
|
||||
$ eas release:publish
|
||||
```
|
||||
_See code: [build/commands/release/create.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/release/create.ts)_
|
||||
|
||||
## `eas update:show`
|
||||
|
||||
@@ -242,4 +261,6 @@ details about a particular revision
|
||||
USAGE
|
||||
$ eas update:show
|
||||
```
|
||||
|
||||
_See code: [build/commands/update/show.ts](https://github.com/expo/eas-cli/blob/v0.1.0-alpha.7/build/commands/update/show.ts)_
|
||||
<!-- commandsstop -->
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"name": "eas-cli",
|
||||
"description": "EAS command line tool",
|
||||
"version": "0.1.0-alpha.4",
|
||||
"version": "0.1.0-alpha.7",
|
||||
"author": "Expo <[email protected]>",
|
||||
"bin": {
|
||||
"eas": "./bin/run"
|
||||
},
|
||||
"bugs": "https://github.com/expo/eas-cli/issues",
|
||||
"dependencies": {
|
||||
"@eas/config": "^0.1.0-alpha.4",
|
||||
"@eas/config": "^0.1.0-alpha.7",
|
||||
"@expo/apple-utils": "0.0.0-alpha.5",
|
||||
"@expo/config": "^3.3.12",
|
||||
"@expo/eas-build-job": "0.1.2",
|
||||
@@ -27,7 +27,6 @@
|
||||
"figures": "^3.2.0",
|
||||
"form-data": "^3.0.0",
|
||||
"fs-extra": "^9.0.1",
|
||||
"getenv": "^1.0.0",
|
||||
"got": "^11.5.2",
|
||||
"graphql-tag": "^2.11.0",
|
||||
"indent-string": "^4.0.0",
|
||||
@@ -62,7 +61,6 @@
|
||||
"@types/dateformat": "^3.0.1",
|
||||
"@types/form-data": "^2.5.0",
|
||||
"@types/fs-extra": "^9.0.1",
|
||||
"@types/getenv": "^1.0.0",
|
||||
"@types/lodash": "^4.14.161",
|
||||
"@types/node": "^12",
|
||||
"@types/node-fetch": "^2.5.7",
|
||||
@@ -83,10 +81,6 @@
|
||||
"typescript": "^3.9.7",
|
||||
"wonka": "^4.0.14"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@expo/traveling-fastlane-darwin": "1.15.3",
|
||||
"@expo/traveling-fastlane-linux": "1.15.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
},
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { BundleId, Profile } from '@expo/apple-utils';
|
||||
import { boolish } from 'getenv';
|
||||
|
||||
export const USE_APPLE_UTILS = boolish('USE_APPLE_UTILS', false);
|
||||
export const USE_APPLE_UTILS = true;
|
||||
|
||||
export async function getProfilesForBundleIdAsync(bundleIdentifier: string): Promise<Profile[]> {
|
||||
const [bundleId] = await BundleId.getAsync({
|
||||
|
||||
@@ -1,58 +1,30 @@
|
||||
import spawnAsync from '@expo/spawn-async';
|
||||
import slash from 'slash';
|
||||
|
||||
const travelingFastlane =
|
||||
process.platform === 'darwin'
|
||||
? require('@expo/traveling-fastlane-darwin')()
|
||||
: require('@expo/traveling-fastlane-linux')();
|
||||
const travelingFastlane = {
|
||||
appProduce: 'app_produce',
|
||||
authenticate: 'authenticate',
|
||||
ensureAppExists: 'ensure_app_exists',
|
||||
listDevices: 'list_devices',
|
||||
manageAdHocProvisioningProfile: 'manage_ad_hoc_provisioning_profile',
|
||||
manageDistCerts: 'manage_dist_certs',
|
||||
managePushKeys: 'manage_push_keys',
|
||||
manageProvisioningProfiles: 'manage_provisioning_profiles',
|
||||
newManageProvisioningProfiles: 'new_manage_provisioning_profiles',
|
||||
pilotUpload: 'pilot_upload',
|
||||
resolveItcTeamId: 'resolve_itc_team_id',
|
||||
supplyAndroid: 'supply_android',
|
||||
};
|
||||
|
||||
const WSL_BASH_PATH = 'C:\\Windows\\system32\\bash.exe';
|
||||
const WSL_BASH = 'bash';
|
||||
const WSL_ONLY_PATH = 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin';
|
||||
|
||||
type Options = {
|
||||
pipeStdout?: boolean;
|
||||
};
|
||||
|
||||
async function runActionAsync(fastlaneAction: string, args: string[], options: Options = {}) {
|
||||
const { pipeStdout = false } = options;
|
||||
const { command, commandArgs } = getCommandAndArgsForPlatform(fastlaneAction, args);
|
||||
const { stderr } = await spawnAsync(command, commandArgs, {
|
||||
stdio: ['inherit', pipeStdout ? 'inherit' : 'pipe', 'pipe'],
|
||||
});
|
||||
const { result, ...rest } = JSON.parse(stderr.trim());
|
||||
if (result === 'success') {
|
||||
return rest;
|
||||
} else {
|
||||
const { reason, rawDump } = rest;
|
||||
const err = new Error(`Reason: ${reason}, raw: ${JSON.stringify(rawDump)}`);
|
||||
// @ts-ignore
|
||||
err.rawDump = rawDump;
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
function getCommandAndArgsForPlatform(fastlaneAction: string, args: string[]) {
|
||||
if (process.platform === 'win32') {
|
||||
const command = WSL_BASH;
|
||||
const argsJoined = args.map(i => `"${i}"`).join(' ');
|
||||
const commandArgs = [
|
||||
'-c',
|
||||
`${WSL_ONLY_PATH} ${windowsToWSLPath(fastlaneAction)} ${argsJoined}`,
|
||||
];
|
||||
return { command, commandArgs };
|
||||
} else {
|
||||
const command = fastlaneAction;
|
||||
const commandArgs = [...args];
|
||||
return { command, commandArgs };
|
||||
}
|
||||
}
|
||||
|
||||
function windowsToWSLPath(_path: string) {
|
||||
const slashPath = slash(_path);
|
||||
const diskLetter = _path[0].toLowerCase();
|
||||
const pathOnDisk = slashPath.slice(2);
|
||||
return `/mnt/${diskLetter}${pathOnDisk}`;
|
||||
async function runActionAsync(
|
||||
fastlaneAction: string,
|
||||
_args: string[],
|
||||
_options: Options = {}
|
||||
): Promise<any> {
|
||||
throw new Error(`Fastlane not available. (Action: ${fastlaneAction}`);
|
||||
}
|
||||
|
||||
export { travelingFastlane, runActionAsync, WSL_BASH_PATH };
|
||||
@@ -237,8 +237,8 @@ export async function createOrReuseAdhocProvisioningProfileAsync(
|
||||
args
|
||||
);
|
||||
adhocProvisioningProfile = {
|
||||
provisioningProfile: travelingFastlane.provisioningProfile,
|
||||
provisioningProfileId: travelingFastlane.provisioningProfileId,
|
||||
provisioningProfile: travelingFastlaneProfile.provisioningProfile,
|
||||
provisioningProfileId: travelingFastlaneProfile.provisioningProfileId,
|
||||
profileName: travelingFastlaneProfile.provisioningProfileName,
|
||||
didUpdate: !!travelingFastlaneProfile.provisioningProfileUpdateTimestamp,
|
||||
didCreate: !!travelingFastlaneProfile.provisioningProfileCreateTimestamp,
|
||||
|
||||
@@ -1571,16 +1571,6 @@
|
||||
dependencies:
|
||||
cross-spawn "^6.0.5"
|
||||
|
||||
"@expo/[email protected]":
|
||||
version "1.15.3"
|
||||
resolved "https://registry.yarnpkg.com/@expo/traveling-fastlane-darwin/-/traveling-fastlane-darwin-1.15.3.tgz#9019b1691ab356c6a97384dd63794156c83751f4"
|
||||
integrity sha512-B8x45xV2HpyG6mVN1pUL7s1y2LGWYuK4ls3SU9DHsBJIvQpTbLOTv5jmr5fcNN8v9iLNvxQef3AMUdFEGE9hpg==
|
||||
|
||||
"@expo/[email protected]":
|
||||
version "1.15.3"
|
||||
resolved "https://registry.yarnpkg.com/@expo/traveling-fastlane-linux/-/traveling-fastlane-linux-1.15.3.tgz#13a3031b1732234574da0246074d5fae41faf382"
|
||||
integrity sha512-vDw4TT0i3W2AjFUsqyFddcPNyHH1kDPZzcnGbBjSc82Oo33r/YE/KT4yjg248oBokfmzAEIhlPQTL7lfCn51pg==
|
||||
|
||||
"@graphql-codegen/cli@^1.19.2":
|
||||
version "1.19.2"
|
||||
resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-1.19.2.tgz#c13f44e144b3d6ff880f3b418b3b3af58917e889"
|
||||
@@ -3574,13 +3564,6 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/getenv@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/getenv/-/getenv-1.0.0.tgz#fa5e6901e9fb84bfb40205d4952fd06c8afcf006"
|
||||
integrity sha512-w8qs+09o4pfFb/4XkHJzsHEZ2m36s/d9vJhglbOeSiSe9mPu0OmCQbU4iEgGl2DNP9WfOHCVd6fBwIvBd4AZhg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/glob@^7.1.1":
|
||||
version "7.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
|
||||
@@ -6851,11 +6834,6 @@ [email protected]:
|
||||
resolved "https://registry.yarnpkg.com/getenv/-/getenv-0.7.0.tgz#39b91838707e2086fd1cf6ef8777d1c93e14649e"
|
||||
integrity sha1-ObkYOHB+IIb9HPbvh3fRyT4UZJ4=
|
||||
|
||||
getenv@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/getenv/-/getenv-1.0.0.tgz#874f2e7544fbca53c7a4738f37de8605c3fcfc31"
|
||||
integrity sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==
|
||||
|
||||
getpass@^0.1.1:
|
||||
version "0.1.7"
|
||||
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
|
||||
|
||||
Reference in new issue
Block a user