mirror of
https://github.com/expo/eas-cli.git
synced 2026-11-14 10:08:06 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb0505f8f8 | ||
|
|
c8f7800ab5 | ||
|
|
bc4e7becdd | ||
|
|
71ece19c40 | ||
|
|
e9053c0d15 | ||
|
|
cf76296142 |
No files matched your search
+10
-2
@@ -8,9 +8,17 @@ This is the log of notable changes to EAS CLI and related packages.
|
||||
|
||||
### 🎉 New features
|
||||
|
||||
- Add support for iOS simulator builds. ([#240](https://github.com/expo/eas-cli/pull/240) by [@dsokal](https://github.com/dsokal))
|
||||
|
||||
### 🐛 Bug fixes
|
||||
|
||||
- Fix detecting application target (iOS builds). ([#238](https://github.com/expo/eas-cli/pull/2238) by [@dsokal](https://github.com/dsokal))
|
||||
- Use fixed version of `@expo/eas-json`. ([#243](https://github.com/expo/eas-cli/pull/243) by [@wkozyra95](https://github.com/wkozyra95))
|
||||
|
||||
## [0.4.2](https://github.com/expo/eas-cli/releases/tag/v0.4.1) - 2021-02-18
|
||||
|
||||
### 🐛 Bug fixes
|
||||
|
||||
- Fix detecting application target (iOS builds). ([#238](https://github.com/expo/eas-cli/pull/238) by [@dsokal](https://github.com/dsokal))
|
||||
|
||||
## [0.4.1](https://github.com/expo/eas-cli/releases/tag/v0.4.1) - 2021-02-16
|
||||
|
||||
@@ -29,5 +37,5 @@ This is the log of notable changes to EAS CLI and related packages.
|
||||
|
||||
### 🐛 Bug fixes
|
||||
|
||||
- Fix `--no-wait` flag for `eas build`. ([#226](https://github.com/expo/eas-cli/pull/226) by [paul-ridgway](https://github.com/paul-ridgway))
|
||||
- Fix `--no-wait` flag for `eas build`. ([#226](https://github.com/expo/eas-cli/pull/226) by [@paul-ridgway](https://github.com/paul-ridgway))
|
||||
- Fix running builds from project subdirectories. ([#229](https://github.com/expo/eas-cli/pull/229) by [@wkozyra95](https://github.com/wkozyra95))
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"npmClient": "yarn",
|
||||
"useWorkspaces": true,
|
||||
"version": "0.4.2"
|
||||
"version": "0.4.3"
|
||||
}
|
||||
+12
-48
@@ -21,7 +21,7 @@ $ npm install -g eas-cli
|
||||
$ eas COMMAND
|
||||
running command...
|
||||
$ eas (-v|--version|version)
|
||||
eas-cli/0.4.2 darwin-x64 node-v14.15.4
|
||||
eas-cli/0.4.3 darwin-x64 node-v14.15.4
|
||||
$ eas --help [COMMAND]
|
||||
USAGE
|
||||
$ eas COMMAND
|
||||
@@ -35,9 +35,7 @@ USAGE
|
||||
* [`eas account:login`](#eas-accountlogin)
|
||||
* [`eas account:logout`](#eas-accountlogout)
|
||||
* [`eas account:view`](#eas-accountview)
|
||||
* [`eas build`](#eas-build)
|
||||
* [`eas build:cancel [BUILD_ID]`](#eas-buildcancel-build_id)
|
||||
* [`eas build:configure`](#eas-buildconfigure)
|
||||
* [`eas build:list`](#eas-buildlist)
|
||||
* [`eas build:view [BUILD_ID]`](#eas-buildview-build_id)
|
||||
* [`eas credentials`](#eas-credentials)
|
||||
@@ -59,7 +57,7 @@ ALIASES
|
||||
$ eas login
|
||||
```
|
||||
|
||||
_See code: [build/commands/account/login.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/account/login.ts)_
|
||||
_See code: [build/commands/account/login.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/account/login.ts)_
|
||||
|
||||
## `eas account:logout`
|
||||
|
||||
@@ -73,7 +71,7 @@ ALIASES
|
||||
$ eas logout
|
||||
```
|
||||
|
||||
_See code: [build/commands/account/logout.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/account/logout.ts)_
|
||||
_See code: [build/commands/account/logout.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/account/logout.ts)_
|
||||
|
||||
## `eas account:view`
|
||||
|
||||
@@ -87,26 +85,7 @@ ALIASES
|
||||
$ eas whoami
|
||||
```
|
||||
|
||||
_See code: [build/commands/account/view.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/account/view.ts)_
|
||||
|
||||
## `eas build`
|
||||
|
||||
Start a build
|
||||
|
||||
```
|
||||
USAGE
|
||||
$ eas build
|
||||
|
||||
OPTIONS
|
||||
-p, --platform=(android|ios|all)
|
||||
--non-interactive Run command in --non-interactive mode
|
||||
--profile=profile [default: release] Name of the build profile from eas.json
|
||||
--skip-credentials-check Skip validation of build credentials
|
||||
--skip-project-configuration Skip project configuration
|
||||
--[no-]wait Wait for build(s) to complete
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/index.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/build/index.ts)_
|
||||
_See code: [build/commands/account/view.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/account/view.ts)_
|
||||
|
||||
## `eas build:cancel [BUILD_ID]`
|
||||
|
||||
@@ -117,22 +96,7 @@ USAGE
|
||||
$ eas build:cancel [BUILD_ID]
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/cancel.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/build/cancel.ts)_
|
||||
|
||||
## `eas build:configure`
|
||||
|
||||
Configure the project to support EAS Build.
|
||||
|
||||
```
|
||||
USAGE
|
||||
$ eas build:configure
|
||||
|
||||
OPTIONS
|
||||
-p, --platform=(android|ios|all) Platform to configure
|
||||
--allow-experimental Enable experimental configuration steps.
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/configure.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/build/configure.ts)_
|
||||
_See code: [build/commands/build/cancel.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/build/cancel.ts)_
|
||||
|
||||
## `eas build:list`
|
||||
|
||||
@@ -148,7 +112,7 @@ OPTIONS
|
||||
--status=(in-queue|in-progress|errored|finished|canceled)
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/list.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/build/list.ts)_
|
||||
_See code: [build/commands/build/list.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/build/list.ts)_
|
||||
|
||||
## `eas build:view [BUILD_ID]`
|
||||
|
||||
@@ -159,7 +123,7 @@ USAGE
|
||||
$ eas build:view [BUILD_ID]
|
||||
```
|
||||
|
||||
_See code: [build/commands/build/view.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/build/view.ts)_
|
||||
_See code: [build/commands/build/view.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/build/view.ts)_
|
||||
|
||||
## `eas credentials`
|
||||
|
||||
@@ -170,7 +134,7 @@ USAGE
|
||||
$ eas credentials
|
||||
```
|
||||
|
||||
_See code: [build/commands/credentials.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/credentials.ts)_
|
||||
_See code: [build/commands/credentials.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/credentials.ts)_
|
||||
|
||||
## `eas device:create`
|
||||
|
||||
@@ -181,7 +145,7 @@ USAGE
|
||||
$ eas device:create
|
||||
```
|
||||
|
||||
_See code: [build/commands/device/create.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/device/create.ts)_
|
||||
_See code: [build/commands/device/create.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/device/create.ts)_
|
||||
|
||||
## `eas device:list`
|
||||
|
||||
@@ -195,7 +159,7 @@ OPTIONS
|
||||
--apple-team-id=apple-team-id
|
||||
```
|
||||
|
||||
_See code: [build/commands/device/list.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/device/list.ts)_
|
||||
_See code: [build/commands/device/list.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/device/list.ts)_
|
||||
|
||||
## `eas device:view [UDID]`
|
||||
|
||||
@@ -206,7 +170,7 @@ USAGE
|
||||
$ eas device:view [UDID]
|
||||
```
|
||||
|
||||
_See code: [build/commands/device/view.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/device/view.ts)_
|
||||
_See code: [build/commands/device/view.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/device/view.ts)_
|
||||
|
||||
## `eas help [COMMAND]`
|
||||
|
||||
@@ -303,5 +267,5 @@ EXAMPLES
|
||||
and provide its App ID
|
||||
```
|
||||
|
||||
_See code: [build/commands/submit.ts](https://github.com/expo/eas-cli/blob/v0.4.2/build/commands/submit.ts)_
|
||||
_See code: [build/commands/submit.ts](https://github.com/expo/eas-cli/blob/v0.4.3/build/commands/submit.ts)_
|
||||
<!-- commandsstop -->
|
||||
@@ -1378,6 +1378,49 @@
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "environmentSecrets",
|
||||
"description": "Environment secrets for an account",
|
||||
"args": [
|
||||
{
|
||||
"name": "filterNames",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "LIST",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"ofType": null
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultValue": null
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "LIST",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "OBJECT",
|
||||
"name": "EnvironmentSecret",
|
||||
"ofType": null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
}
|
||||
],
|
||||
"inputFields": null,
|
||||
@@ -2682,11 +2725,11 @@
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "updateChannelByChannelName",
|
||||
"description": "get an EAS channel owned by the app by channelName",
|
||||
"name": "updateChannelByName",
|
||||
"description": "get an EAS channel owned by the app by name",
|
||||
"args": [
|
||||
{
|
||||
"name": "channelName",
|
||||
"name": "name",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
@@ -2766,11 +2809,11 @@
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "updateBranchByBranchName",
|
||||
"description": "get an EAS branch owned by the app by branchName",
|
||||
"name": "updateBranchByName",
|
||||
"description": "get an EAS branch owned by the app by name",
|
||||
"args": [
|
||||
{
|
||||
"name": "branchName",
|
||||
"name": "name",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
@@ -2844,6 +2887,49 @@
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "environmentSecrets",
|
||||
"description": "Environment secrets for an app",
|
||||
"args": [
|
||||
{
|
||||
"name": "filterNames",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "LIST",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"ofType": null
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultValue": null
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "LIST",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "OBJECT",
|
||||
"name": "EnvironmentSecret",
|
||||
"ofType": null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
}
|
||||
],
|
||||
"inputFields": null,
|
||||
@@ -4830,6 +4916,12 @@
|
||||
"description": "",
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "SIMULATOR",
|
||||
"description": "",
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
}
|
||||
],
|
||||
"possibleTypes": null
|
||||
@@ -7299,7 +7391,7 @@
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "channelName",
|
||||
"name": "name",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
@@ -7459,7 +7551,7 @@
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "branchName",
|
||||
"name": "name",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
@@ -7679,7 +7771,7 @@
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "updateGroup",
|
||||
"name": "group",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
@@ -7727,7 +7819,7 @@
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "updateMessage",
|
||||
"name": "message",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
@@ -7739,15 +7831,15 @@
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "branchName",
|
||||
"name": "branch",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"kind": "OBJECT",
|
||||
"name": "UpdateBranch",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
@@ -7766,6 +7858,81 @@
|
||||
"enumValues": null,
|
||||
"possibleTypes": null
|
||||
},
|
||||
{
|
||||
"kind": "OBJECT",
|
||||
"name": "EnvironmentSecret",
|
||||
"description": "",
|
||||
"fields": [
|
||||
{
|
||||
"name": "id",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "ID",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "createdAt",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "DateTime",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "updatedAt",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "DateTime",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
}
|
||||
],
|
||||
"inputFields": null,
|
||||
"interfaces": [],
|
||||
"enumValues": null,
|
||||
"possibleTypes": null
|
||||
},
|
||||
{
|
||||
"kind": "OBJECT",
|
||||
"name": "UserPermission",
|
||||
@@ -10327,6 +10494,22 @@
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "environmentSecret",
|
||||
"description": "Mutations that create and delete EnvironmentSecrets",
|
||||
"args": [],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "OBJECT",
|
||||
"name": "EnvironmentSecretMutation",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
}
|
||||
],
|
||||
"inputFields": null,
|
||||
@@ -13919,7 +14102,7 @@
|
||||
"defaultValue": null
|
||||
},
|
||||
{
|
||||
"name": "channelName",
|
||||
"name": "name",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
@@ -14149,7 +14332,7 @@
|
||||
"defaultValue": null
|
||||
},
|
||||
{
|
||||
"name": "branchName",
|
||||
"name": "name",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
@@ -14173,7 +14356,7 @@
|
||||
},
|
||||
{
|
||||
"name": "editUpdateBranch",
|
||||
"description": "Edit an EAS branch. The branch can be specified either by its ID or\nwith the combination of (appId, branchName).",
|
||||
"description": "Edit an EAS branch. The branch can be specified either by its ID or\nwith the combination of (appId, name).",
|
||||
"args": [
|
||||
{
|
||||
"name": "input",
|
||||
@@ -14297,7 +14480,7 @@
|
||||
"defaultValue": null
|
||||
},
|
||||
{
|
||||
"name": "branchName",
|
||||
"name": "name",
|
||||
"description": "",
|
||||
"type": {
|
||||
"kind": "SCALAR",
|
||||
@@ -14307,7 +14490,7 @@
|
||||
"defaultValue": null
|
||||
},
|
||||
{
|
||||
"name": "newBranchName",
|
||||
"name": "newName",
|
||||
"description": "",
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
@@ -14401,7 +14584,7 @@
|
||||
"defaultValue": null
|
||||
},
|
||||
{
|
||||
"name": "updateMessage",
|
||||
"name": "message",
|
||||
"description": "",
|
||||
"type": {
|
||||
"kind": "SCALAR",
|
||||
@@ -16144,6 +16327,196 @@
|
||||
"enumValues": null,
|
||||
"possibleTypes": null
|
||||
},
|
||||
{
|
||||
"kind": "OBJECT",
|
||||
"name": "EnvironmentSecretMutation",
|
||||
"description": "",
|
||||
"fields": [
|
||||
{
|
||||
"name": "createEnvironmentSecretForAccount",
|
||||
"description": "Create an environment secret for an Account",
|
||||
"args": [
|
||||
{
|
||||
"name": "environmentSecretData",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "INPUT_OBJECT",
|
||||
"name": "CreateEnvironmentSecretInput",
|
||||
"ofType": null
|
||||
},
|
||||
"defaultValue": null
|
||||
},
|
||||
{
|
||||
"name": "accountId",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"defaultValue": null
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "OBJECT",
|
||||
"name": "EnvironmentSecret",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "createEnvironmentSecretForApp",
|
||||
"description": "Create an environment secret for an App",
|
||||
"args": [
|
||||
{
|
||||
"name": "environmentSecretData",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "INPUT_OBJECT",
|
||||
"name": "CreateEnvironmentSecretInput",
|
||||
"ofType": null
|
||||
},
|
||||
"defaultValue": null
|
||||
},
|
||||
{
|
||||
"name": "appId",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"defaultValue": null
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "OBJECT",
|
||||
"name": "EnvironmentSecret",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
},
|
||||
{
|
||||
"name": "deleteEnvironmentSecret",
|
||||
"description": "Delete an environment secret",
|
||||
"args": [
|
||||
{
|
||||
"name": "id",
|
||||
"description": null,
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"defaultValue": null
|
||||
}
|
||||
],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "OBJECT",
|
||||
"name": "DeleteEnvironmentSecretResult",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
}
|
||||
],
|
||||
"inputFields": null,
|
||||
"interfaces": [],
|
||||
"enumValues": null,
|
||||
"possibleTypes": null
|
||||
},
|
||||
{
|
||||
"kind": "INPUT_OBJECT",
|
||||
"name": "CreateEnvironmentSecretInput",
|
||||
"description": "",
|
||||
"fields": null,
|
||||
"inputFields": [
|
||||
{
|
||||
"name": "name",
|
||||
"description": "",
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"defaultValue": null
|
||||
},
|
||||
{
|
||||
"name": "value",
|
||||
"description": "",
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "String",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"defaultValue": null
|
||||
}
|
||||
],
|
||||
"interfaces": null,
|
||||
"enumValues": null,
|
||||
"possibleTypes": null
|
||||
},
|
||||
{
|
||||
"kind": "OBJECT",
|
||||
"name": "DeleteEnvironmentSecretResult",
|
||||
"description": "",
|
||||
"fields": [
|
||||
{
|
||||
"name": "id",
|
||||
"description": "",
|
||||
"args": [],
|
||||
"type": {
|
||||
"kind": "NON_NULL",
|
||||
"name": null,
|
||||
"ofType": {
|
||||
"kind": "SCALAR",
|
||||
"name": "ID",
|
||||
"ofType": null
|
||||
}
|
||||
},
|
||||
"isDeprecated": false,
|
||||
"deprecationReason": null
|
||||
}
|
||||
],
|
||||
"inputFields": null,
|
||||
"interfaces": [],
|
||||
"enumValues": null,
|
||||
"possibleTypes": null
|
||||
},
|
||||
{
|
||||
"kind": "OBJECT",
|
||||
"name": "BaseSearchResult",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "eas-cli",
|
||||
"description": "EAS command line tool",
|
||||
"version": "0.4.2",
|
||||
"version": "0.4.3",
|
||||
"author": "Expo <[email protected]>",
|
||||
"bin": {
|
||||
"eas": "./bin/run"
|
||||
@@ -11,8 +11,8 @@
|
||||
"@expo/apple-utils": "0.0.0-alpha.17",
|
||||
"@expo/config": "~3.3.19",
|
||||
"@expo/config-plugins": "1.0.19-alpha.0",
|
||||
"@expo/eas-build-job": "0.2.11",
|
||||
"@expo/eas-json": "^0.4.1",
|
||||
"@expo/eas-build-job": "0.2.12",
|
||||
"@expo/eas-json": "^0.4.3",
|
||||
"@expo/json-file": "^8.2.24",
|
||||
"@expo/plist": "^0.0.11",
|
||||
"@expo/plugin-warn-if-update-available": "^1.7.0",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Workflow } from '@expo/eas-build-job';
|
||||
import { CredentialsSource, DistributionType } from '@expo/eas-json';
|
||||
import { CredentialsSource, iOSDistributionType } from '@expo/eas-json';
|
||||
import assert from 'assert';
|
||||
|
||||
import { createCredentialsContextAsync } from '../../credentials/context';
|
||||
@@ -27,7 +27,7 @@ export async function ensureIosCredentialsAsync(
|
||||
},
|
||||
workflow: ctx.buildProfile.workflow,
|
||||
credentialsSource: ctx.buildProfile.credentialsSource,
|
||||
distribution: ctx.buildProfile.distribution ?? DistributionType.STORE,
|
||||
distribution: ctx.buildProfile.distribution ?? 'store',
|
||||
nonInteractive: ctx.commandCtx.nonInteractive,
|
||||
skipCredentialsCheck: ctx.commandCtx.skipCredentialsCheck,
|
||||
});
|
||||
@@ -37,7 +37,7 @@ interface ResolveCredentialsParams {
|
||||
app: AppLookupParams;
|
||||
workflow: Workflow;
|
||||
credentialsSource: CredentialsSource;
|
||||
distribution: DistributionType;
|
||||
distribution: iOSDistributionType;
|
||||
nonInteractive: boolean;
|
||||
skipCredentialsCheck: boolean;
|
||||
}
|
||||
@@ -69,5 +69,5 @@ export async function resolveIosCredentialsAsync(
|
||||
}
|
||||
|
||||
function shouldProvideCredentials(ctx: BuildContext<Platform.iOS>): boolean {
|
||||
return true;
|
||||
return ctx.buildProfile.distribution !== 'simulator';
|
||||
}
|
||||
@@ -50,6 +50,7 @@ interface CommonJobProperties {
|
||||
projectArchive: ArchiveSource;
|
||||
builderEnvironment: iOS.BuilderEnvironment;
|
||||
releaseChannel: string;
|
||||
distribution?: iOS.DistributionType;
|
||||
secrets: {
|
||||
buildCredentials: iOS.BuildCredentials;
|
||||
secretEnvs?: Record<string, string>;
|
||||
@@ -88,6 +89,7 @@ async function prepareJobCommonAsync(
|
||||
type: ArchiveSourceType.S3,
|
||||
bucketKey: archiveBucketKey,
|
||||
},
|
||||
distribution: ctx.buildProfile.distribution,
|
||||
builderEnvironment: {
|
||||
image: ctx.buildProfile.image,
|
||||
node: ctx.buildProfile.node,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { CredentialsSource, DistributionType } from '@expo/eas-json';
|
||||
import { CredentialsSource } from '@expo/eas-json';
|
||||
|
||||
import { getAppIdentifierAsync } from '../project/projectUtils';
|
||||
import { BuildContext } from './context';
|
||||
@@ -26,7 +26,7 @@ export async function collectMetadata<T extends Platform>(
|
||||
credentialsSource,
|
||||
sdkVersion: ctx.commandCtx.exp.sdkVersion,
|
||||
trackingContext: ctx.trackingCtx,
|
||||
distribution: ctx.buildProfile.distribution ?? DistributionType.STORE,
|
||||
distribution: ctx.buildProfile.distribution ?? 'store',
|
||||
appName: ctx.commandCtx.exp.name,
|
||||
appIdentifier:
|
||||
(await getAppIdentifierAsync(ctx.commandCtx.projectDir, ctx.platform)) ?? undefined,
|
||||
|
||||
@@ -83,7 +83,7 @@ export type BuildMetadata = {
|
||||
|
||||
/**
|
||||
* Distribution type
|
||||
* Indicates whether this is a build for store or internal distribution.
|
||||
* Indicates whether this is a build for store, internal distribution, or simulator (iOS).
|
||||
*/
|
||||
distribution: DistributionType;
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { DistributionType } from '@expo/eas-json';
|
||||
import assert from 'assert';
|
||||
import chalk from 'chalk';
|
||||
|
||||
@@ -47,7 +46,7 @@ export function printBuildResults(accountName: string, builds: (Build | null)[])
|
||||
}
|
||||
|
||||
function printBuildResult(accountName: string, build: Build): void {
|
||||
if (build.metadata?.distribution === DistributionType.INTERNAL) {
|
||||
if (build.metadata?.distribution === 'internal') {
|
||||
const logsUrl = getBuildLogsUrl({
|
||||
buildId: build.id,
|
||||
account: accountName,
|
||||
|
||||
@@ -14,30 +14,30 @@ import { getBranchNameAsync } from '../../utils/git';
|
||||
|
||||
export async function createUpdateBranchOnAppAsync({
|
||||
appId,
|
||||
branchName,
|
||||
name,
|
||||
}: {
|
||||
appId: string;
|
||||
branchName: string;
|
||||
}): Promise<Pick<UpdateBranch, 'id' | 'branchName'>> {
|
||||
name: string;
|
||||
}): Promise<Pick<UpdateBranch, 'id' | 'name'>> {
|
||||
const data = await withErrorHandlingAsync(
|
||||
graphqlClient
|
||||
.mutation<
|
||||
{ updateBranch: { createUpdateBranchForApp: Pick<UpdateBranch, 'id' | 'branchName'> } },
|
||||
{ appId: string; branchName: string }
|
||||
{ updateBranch: { createUpdateBranchForApp: Pick<UpdateBranch, 'id' | 'name'> } },
|
||||
{ appId: string; name: string }
|
||||
>(
|
||||
gql`
|
||||
mutation createUpdateBranchForApp($appId: ID!, $branchName: String!) {
|
||||
mutation createUpdateBranchForApp($appId: ID!, $name: String!) {
|
||||
updateBranch {
|
||||
createUpdateBranchForApp(appId: $appId, branchName: $branchName) {
|
||||
createUpdateBranchForApp(appId: $appId, name: $name) {
|
||||
id
|
||||
branchName
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
{
|
||||
appId,
|
||||
branchName,
|
||||
name,
|
||||
}
|
||||
)
|
||||
.toPromise()
|
||||
@@ -51,7 +51,7 @@ export default class BranchCreate extends Command {
|
||||
|
||||
static args = [
|
||||
{
|
||||
name: 'branchName',
|
||||
name: 'name',
|
||||
required: false,
|
||||
description: 'Name of the branch to create',
|
||||
},
|
||||
@@ -66,7 +66,7 @@ export default class BranchCreate extends Command {
|
||||
|
||||
async run() {
|
||||
let {
|
||||
args: { branchName },
|
||||
args: { name },
|
||||
flags,
|
||||
} = this.parse(BranchCreate);
|
||||
|
||||
@@ -82,14 +82,14 @@ export default class BranchCreate extends Command {
|
||||
projectName: exp.slug,
|
||||
});
|
||||
|
||||
if (!branchName) {
|
||||
if (!name) {
|
||||
const validationMessage = 'Branch name may not be empty.';
|
||||
if (flags.json) {
|
||||
throw new Error(validationMessage);
|
||||
}
|
||||
({ branchName } = await promptAsync({
|
||||
({ name } = await promptAsync({
|
||||
type: 'text',
|
||||
name: 'branchName',
|
||||
name: 'name',
|
||||
message: 'Please name the branch:',
|
||||
initial:
|
||||
(await getBranchNameAsync()) || `branch-${Math.random().toString(36).substr(2, 4)}`,
|
||||
@@ -97,7 +97,7 @@ export default class BranchCreate extends Command {
|
||||
}));
|
||||
}
|
||||
|
||||
const newBranch = await createUpdateBranchOnAppAsync({ appId: projectId, branchName });
|
||||
const newBranch = await createUpdateBranchOnAppAsync({ appId: projectId, name });
|
||||
|
||||
if (flags.json) {
|
||||
Log.log(newBranch);
|
||||
@@ -105,7 +105,7 @@ export default class BranchCreate extends Command {
|
||||
}
|
||||
|
||||
Log.withTick(
|
||||
`️Created a new branch: ${chalk.bold(newBranch.branchName)} on project ${chalk.bold(
|
||||
`️Created a new branch: ${chalk.bold(newBranch.name)} on project ${chalk.bold(
|
||||
`@${accountName}/${exp.slug}`
|
||||
)}.`
|
||||
);
|
||||
|
||||
@@ -38,10 +38,7 @@ export default class BranchList extends Command {
|
||||
} else {
|
||||
const table = new CliTable({ head: ['Branch', 'Latest update'] });
|
||||
table.push(
|
||||
...branches.map((branch: UpdateBranch) => [
|
||||
branch.branchName,
|
||||
formatUpdate(branch.updates[0]),
|
||||
])
|
||||
...branches.map((branch: UpdateBranch) => [branch.name, formatUpdate(branch.updates[0])])
|
||||
);
|
||||
Log.log(table.toString());
|
||||
if (branches.length >= BRANCHES_LIMIT) {
|
||||
@@ -61,7 +58,7 @@ export default class BranchList extends Command {
|
||||
fullName
|
||||
updateBranches(offset: 0, limit: $limit) {
|
||||
id
|
||||
branchName
|
||||
name
|
||||
updates(offset: 0, limit: 1) {
|
||||
id
|
||||
actor {
|
||||
@@ -75,7 +72,7 @@ export default class BranchList extends Command {
|
||||
}
|
||||
}
|
||||
updatedAt
|
||||
updateMessage
|
||||
message
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -105,7 +102,7 @@ function formatUpdate(update: Update | undefined): string {
|
||||
if (!update) {
|
||||
return 'N/A';
|
||||
}
|
||||
const message = update.updateMessage ? `"${update.updateMessage}" ` : '';
|
||||
const message = update.message ? `"${update.message}" ` : '';
|
||||
return `${message}(${format(update.updatedAt, 'en_US')} by ${getActorDisplayName(
|
||||
update.actor as any
|
||||
)})`;
|
||||
|
||||
@@ -41,7 +41,7 @@ export default class BranchPublish extends Command {
|
||||
|
||||
async run() {
|
||||
let {
|
||||
flags: { json: jsonFlag, branch: branchName, message: updateMessage, 'input-dir': inputDir },
|
||||
flags: { json: jsonFlag, branch: name, message, 'input-dir': inputDir },
|
||||
} = this.parse(BranchPublish);
|
||||
|
||||
const projectDir = await findProjectRootAsync(process.cwd());
|
||||
@@ -63,25 +63,25 @@ export default class BranchPublish extends Command {
|
||||
projectName: slug,
|
||||
});
|
||||
|
||||
if (!branchName) {
|
||||
if (!name) {
|
||||
const validationMessage = 'branch name may not be empty.';
|
||||
if (jsonFlag) {
|
||||
throw new Error(validationMessage);
|
||||
}
|
||||
({ branchName } = await promptAsync({
|
||||
({ name } = await promptAsync({
|
||||
type: 'text',
|
||||
name: 'branchName',
|
||||
name: 'name',
|
||||
message: 'Please enter the name of the branch to publish on:',
|
||||
validate: value => (value ? true : validationMessage),
|
||||
}));
|
||||
}
|
||||
|
||||
if (!updateMessage) {
|
||||
if (!message) {
|
||||
const validationMessage = 'publish message may not be empty.';
|
||||
if (jsonFlag) {
|
||||
throw new Error(validationMessage);
|
||||
}
|
||||
({ publishMessage: updateMessage } = await promptAsync({
|
||||
({ publishMessage: message } = await promptAsync({
|
||||
type: 'text',
|
||||
name: 'publishMessage',
|
||||
message: `Please enter a publication message.`,
|
||||
@@ -92,7 +92,7 @@ export default class BranchPublish extends Command {
|
||||
|
||||
const { id: branchId } = await getBranchByNameAsync({
|
||||
appId: projectId,
|
||||
branchName: branchName!,
|
||||
name: name!,
|
||||
});
|
||||
|
||||
let updateInfoGroup;
|
||||
@@ -114,7 +114,7 @@ export default class BranchPublish extends Command {
|
||||
branchId,
|
||||
updateInfoGroup,
|
||||
runtimeVersion,
|
||||
updateMessage,
|
||||
message,
|
||||
});
|
||||
publishSpinner.succeed('Published!');
|
||||
} catch (e) {
|
||||
@@ -148,10 +148,10 @@ export default class BranchPublish extends Command {
|
||||
});
|
||||
outputMessage.push(
|
||||
[chalk.dim('project'), `@${accountName}/${slug}`],
|
||||
[chalk.dim('branch'), branchName],
|
||||
[chalk.dim('branch'), name],
|
||||
[chalk.dim('runtimeVersion'), runtimeVersion],
|
||||
[chalk.dim('updateGroupID'), newUpdateGroup.updateGroup],
|
||||
[chalk.dim('message'), updateMessage]
|
||||
[chalk.dim('groupID'), newUpdateGroup.group],
|
||||
[chalk.dim('message'), message]
|
||||
);
|
||||
Log.log(outputMessage.toString());
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ async function renameUpdateBranchOnAppAsync({
|
||||
updateBranch {
|
||||
editUpdateBranch(input: $input) {
|
||||
id
|
||||
branchName
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,8 +41,8 @@ async function renameUpdateBranchOnAppAsync({
|
||||
{
|
||||
input: {
|
||||
appId,
|
||||
branchName: currentName,
|
||||
newBranchName: newName,
|
||||
name: currentName,
|
||||
newName,
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -125,7 +125,7 @@ export default class BranchRename extends Command {
|
||||
|
||||
Log.withTick(
|
||||
`️Renamed branch from ${currentName} to ${chalk.bold(
|
||||
editedBranch.branchName
|
||||
editedBranch.name
|
||||
)} on project ${chalk.bold(`@${accountName}/${exp.slug}`)}.`
|
||||
);
|
||||
}
|
||||
|
||||
@@ -14,17 +14,17 @@ import { promptAsync } from '../../prompts';
|
||||
|
||||
const PAGE_LIMIT = 10_000;
|
||||
|
||||
type TruncatedUpdate = Pick<Update, 'updateGroup' | 'updateMessage' | 'createdAt' | 'actor'>;
|
||||
type TruncatedUpdate = Pick<Update, 'group' | 'message' | 'createdAt' | 'actor'>;
|
||||
|
||||
async function viewUpdateBranchAsync({
|
||||
appId,
|
||||
branchName,
|
||||
name,
|
||||
}: {
|
||||
appId: string;
|
||||
branchName: string;
|
||||
name: string;
|
||||
}): Promise<{
|
||||
id: string;
|
||||
branchName: string;
|
||||
name: string;
|
||||
updates: TruncatedUpdate[];
|
||||
}> {
|
||||
const data = await withErrorHandlingAsync(
|
||||
@@ -33,9 +33,9 @@ async function viewUpdateBranchAsync({
|
||||
{
|
||||
app: {
|
||||
byId: {
|
||||
updateBranchByBranchName: {
|
||||
updateBranchByName: {
|
||||
id: string;
|
||||
branchName: string;
|
||||
name: string;
|
||||
updates: TruncatedUpdate[];
|
||||
};
|
||||
};
|
||||
@@ -43,22 +43,22 @@ async function viewUpdateBranchAsync({
|
||||
},
|
||||
{
|
||||
appId: string;
|
||||
branchName: string;
|
||||
name: string;
|
||||
limit: number;
|
||||
}
|
||||
>(
|
||||
gql`
|
||||
query ViewBranch($appId: String!, $branchName: String!, $limit: Int!) {
|
||||
query ViewBranch($appId: String!, $name: String!, $limit: Int!) {
|
||||
app {
|
||||
byId(appId: $appId) {
|
||||
id
|
||||
updateBranchByBranchName(branchName: $branchName) {
|
||||
updateBranchByName(name: $name) {
|
||||
id
|
||||
branchName
|
||||
name
|
||||
updates(offset: 0, limit: $limit) {
|
||||
id
|
||||
updateGroup
|
||||
updateMessage
|
||||
group
|
||||
message
|
||||
createdAt
|
||||
actor {
|
||||
id
|
||||
@@ -77,13 +77,13 @@ async function viewUpdateBranchAsync({
|
||||
`,
|
||||
{
|
||||
appId,
|
||||
branchName,
|
||||
name,
|
||||
limit: PAGE_LIMIT,
|
||||
}
|
||||
)
|
||||
.toPromise()
|
||||
);
|
||||
return data.app.byId.updateBranchByBranchName;
|
||||
return data.app.byId.updateBranchByName;
|
||||
}
|
||||
|
||||
export default class BranchView extends Command {
|
||||
@@ -92,7 +92,7 @@ export default class BranchView extends Command {
|
||||
|
||||
static args = [
|
||||
{
|
||||
name: 'branchName',
|
||||
name: 'name',
|
||||
required: false,
|
||||
description: 'Name of the branch to view',
|
||||
},
|
||||
@@ -107,7 +107,7 @@ export default class BranchView extends Command {
|
||||
|
||||
async run() {
|
||||
let {
|
||||
args: { branchName },
|
||||
args: { name },
|
||||
flags: { json: jsonFlag },
|
||||
} = this.parse(BranchView);
|
||||
|
||||
@@ -124,14 +124,14 @@ export default class BranchView extends Command {
|
||||
projectName: slug,
|
||||
});
|
||||
|
||||
if (!branchName) {
|
||||
if (!name) {
|
||||
const validationMessage = 'Branch name may not be empty.';
|
||||
if (jsonFlag) {
|
||||
throw new Error(validationMessage);
|
||||
}
|
||||
({ branchName } = await promptAsync({
|
||||
({ name } = await promptAsync({
|
||||
type: 'text',
|
||||
name: 'branchName',
|
||||
name: 'name',
|
||||
message: 'Please enter the name of the branch to view:',
|
||||
validate: value => (value ? true : validationMessage),
|
||||
}));
|
||||
@@ -139,11 +139,11 @@ export default class BranchView extends Command {
|
||||
|
||||
const UpdateBranch = await viewUpdateBranchAsync({
|
||||
appId: projectId,
|
||||
branchName,
|
||||
name,
|
||||
});
|
||||
|
||||
const updates = Object.values(groupBy(UpdateBranch.updates, u => u.updateGroup)).map(
|
||||
updateGroup => updateGroup[0]
|
||||
const updates = Object.values(groupBy(UpdateBranch.updates, u => u.group)).map(
|
||||
group => group[0]
|
||||
);
|
||||
|
||||
if (jsonFlag) {
|
||||
@@ -151,26 +151,26 @@ export default class BranchView extends Command {
|
||||
return;
|
||||
}
|
||||
|
||||
const updateGroupTable = new Table({
|
||||
head: ['createdAt', 'updateMessage', 'updateGroup', 'actor'],
|
||||
const groupTable = new Table({
|
||||
head: ['createdAt', 'message', 'group', 'actor'],
|
||||
wordWrap: true,
|
||||
});
|
||||
|
||||
for (const update of updates) {
|
||||
updateGroupTable.push([
|
||||
groupTable.push([
|
||||
new Date(update.createdAt).toLocaleString(),
|
||||
update.updateMessage,
|
||||
update.updateGroup,
|
||||
update.message,
|
||||
update.group,
|
||||
update.actor?.firstName,
|
||||
]);
|
||||
}
|
||||
|
||||
Log.withTick(
|
||||
`️Branch: ${chalk.bold(UpdateBranch.branchName)} on project ${chalk.bold(
|
||||
`️Branch: ${chalk.bold(UpdateBranch.name)} on project ${chalk.bold(
|
||||
`@${accountName}/${slug}`
|
||||
)}. Branch ID: ${chalk.bold(UpdateBranch.id)}`
|
||||
);
|
||||
Log.log(chalk.bold('Recent update groups published on this branch:'));
|
||||
Log.log(updateGroupTable.toString());
|
||||
Log.log(groupTable.toString());
|
||||
}
|
||||
}
|
||||
@@ -33,22 +33,14 @@ async function createUpdateChannelOnAppAsync({
|
||||
graphqlClient
|
||||
.mutation<
|
||||
{ updateChannel: { createUpdateChannelForApp: UpdateChannel } },
|
||||
{ appId: string; channelName: string; branchMapping: string }
|
||||
{ appId: string; name: string; branchMapping: string }
|
||||
>(
|
||||
gql`
|
||||
mutation CreateUpdateChannelForApp(
|
||||
$appId: ID!
|
||||
$channelName: String!
|
||||
$branchMapping: String!
|
||||
) {
|
||||
mutation CreateUpdateChannelForApp($appId: ID!, $name: String!, $branchMapping: String!) {
|
||||
updateChannel {
|
||||
createUpdateChannelForApp(
|
||||
appId: $appId
|
||||
channelName: $channelName
|
||||
branchMapping: $branchMapping
|
||||
) {
|
||||
createUpdateChannelForApp(appId: $appId, name: $name, branchMapping: $branchMapping) {
|
||||
id
|
||||
channelName
|
||||
name
|
||||
branchMapping
|
||||
}
|
||||
}
|
||||
@@ -56,7 +48,7 @@ async function createUpdateChannelOnAppAsync({
|
||||
`,
|
||||
{
|
||||
appId,
|
||||
channelName,
|
||||
name: channelName,
|
||||
branchMapping,
|
||||
}
|
||||
)
|
||||
@@ -71,7 +63,7 @@ export default class ChannelCreate extends Command {
|
||||
|
||||
static args = [
|
||||
{
|
||||
name: 'channelName',
|
||||
name: 'name',
|
||||
required: false,
|
||||
description: 'Name of the channel to create',
|
||||
},
|
||||
@@ -87,7 +79,7 @@ export default class ChannelCreate extends Command {
|
||||
|
||||
async run() {
|
||||
let {
|
||||
args: { channelName },
|
||||
args: { name: channelName },
|
||||
flags: { json: jsonFlag },
|
||||
} = this.parse(ChannelCreate);
|
||||
|
||||
@@ -109,9 +101,9 @@ export default class ChannelCreate extends Command {
|
||||
if (jsonFlag) {
|
||||
throw new Error(validationMessage);
|
||||
}
|
||||
({ channelName } = await promptAsync({
|
||||
({ name: channelName } = await promptAsync({
|
||||
type: 'text',
|
||||
name: 'channelName',
|
||||
name: 'name',
|
||||
message: 'Please name the channel:',
|
||||
validate: value => (value ? true : validationMessage),
|
||||
}));
|
||||
@@ -122,14 +114,14 @@ export default class ChannelCreate extends Command {
|
||||
try {
|
||||
const existingBranch = await getBranchByNameAsync({
|
||||
appId: projectId,
|
||||
branchName: channelName,
|
||||
name: channelName,
|
||||
});
|
||||
branchId = existingBranch.id;
|
||||
branchMessage = `We found a branch with the same name`;
|
||||
} catch (e) {
|
||||
const newBranch = await createUpdateBranchOnAppAsync({
|
||||
appId: projectId,
|
||||
branchName: channelName,
|
||||
name: channelName,
|
||||
});
|
||||
branchId = newBranch.id;
|
||||
branchMessage = `We also went ahead and made a branch with the same name`;
|
||||
@@ -147,7 +139,7 @@ export default class ChannelCreate extends Command {
|
||||
}
|
||||
|
||||
Log.withTick(
|
||||
`️Created a new channel ${chalk.bold(newChannel.channelName)} on project ${chalk.bold(
|
||||
`️Created a new channel ${chalk.bold(newChannel.name)} on project ${chalk.bold(
|
||||
`@${accountName}/${slug}`
|
||||
)}. ${branchMessage} and have pointed the channel at it. You can now update your app by publishing!`
|
||||
);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Platform } from '@expo/eas-build-job';
|
||||
import { CredentialsSource, DistributionType } from '@expo/eas-json';
|
||||
import { CredentialsSource, iOSDistributionType } from '@expo/eas-json';
|
||||
|
||||
import { IosDistributionType } from '../../graphql/generated';
|
||||
import Log from '../../log';
|
||||
@@ -23,7 +23,7 @@ interface PartialIosCredentials {
|
||||
|
||||
interface Options {
|
||||
app: AppLookupParams;
|
||||
distribution: DistributionType;
|
||||
distribution: iOSDistributionType;
|
||||
skipCredentialsCheck?: boolean;
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ export default class IosCredentialsProvider implements CredentialsProvider {
|
||||
}
|
||||
|
||||
public async hasLocalAsync(): Promise<boolean> {
|
||||
if (this.options.distribution === DistributionType.INTERNAL) {
|
||||
if (this.options.distribution === 'internal') {
|
||||
// TODO: add support for using credentials.json for internal distribution
|
||||
return false;
|
||||
}
|
||||
@@ -102,7 +102,7 @@ export default class IosCredentialsProvider implements CredentialsProvider {
|
||||
}
|
||||
|
||||
private async getLocalAsync(): Promise<IosCredentials> {
|
||||
if (this.options.distribution === DistributionType.INTERNAL) {
|
||||
if (this.options.distribution === 'internal') {
|
||||
// TODO: add support for using credentials.json for internal distribution
|
||||
throw new Error('Using credentials.json for internal distribution is not supported yet.');
|
||||
}
|
||||
@@ -147,7 +147,7 @@ export default class IosCredentialsProvider implements CredentialsProvider {
|
||||
}
|
||||
|
||||
private async fetchRemoteAsync(): Promise<PartialIosCredentials> {
|
||||
if (this.options.distribution === DistributionType.INTERNAL) {
|
||||
if (this.options.distribution === 'internal') {
|
||||
const { app } = this.options;
|
||||
const account = findAccountByName(this.ctx.user.accounts, app.accountName);
|
||||
if (!account) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { DistributionType } from '@expo/eas-json';
|
||||
import { iOSDistributionType } from '@expo/eas-json';
|
||||
import assert from 'assert';
|
||||
import chalk from 'chalk';
|
||||
|
||||
@@ -21,7 +21,7 @@ type AppCredentialsAndDistCert = {
|
||||
};
|
||||
|
||||
export class SetupBuildCredentials implements Action {
|
||||
constructor(private app: AppLookupParams, private distribution: DistributionType) {}
|
||||
constructor(private app: AppLookupParams, private distribution: iOSDistributionType) {}
|
||||
|
||||
async runAsync(manager: CredentialsManager, ctx: Context): Promise<void> {
|
||||
await ctx.bestEffortAppStoreAuthenticateAsync();
|
||||
@@ -32,7 +32,7 @@ export class SetupBuildCredentials implements Action {
|
||||
|
||||
let iosAppBuildCredentials: IosAppBuildCredentialsFragment | null = null;
|
||||
try {
|
||||
if (this.distribution === DistributionType.INTERNAL) {
|
||||
if (this.distribution === 'internal') {
|
||||
const account = findAccountByName(ctx.user.accounts, this.app.accountName);
|
||||
if (!account) {
|
||||
throw new Error(`You do not have access to the ${this.app.accountName} account`);
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import { DistributionType } from '@expo/eas-json';
|
||||
|
||||
import Log from '../../log';
|
||||
import { getProjectAccountName } from '../../project/projectUtils';
|
||||
import { promptAsync } from '../../prompts';
|
||||
@@ -135,7 +133,7 @@ export class ManageIos implements Action {
|
||||
}
|
||||
case ActionType.SetupBuildCredentials: {
|
||||
const app = this.getAppLookupParamsFromContext(ctx);
|
||||
return new SetupBuildCredentials(app, DistributionType.STORE);
|
||||
return new SetupBuildCredentials(app, 'store');
|
||||
}
|
||||
case ActionType.RemoveSpecificProvisioningProfile: {
|
||||
const app = this.getAppLookupParamsFromContext(ctx);
|
||||
|
||||
@@ -195,6 +195,8 @@ export type Account = {
|
||||
applePushKeys: Array<ApplePushKey>;
|
||||
appleProvisioningProfiles: Array<AppleProvisioningProfile>;
|
||||
appleDevices: Array<AppleDevice>;
|
||||
/** Environment secrets for an account */
|
||||
environmentSecrets: Array<EnvironmentSecret>;
|
||||
};
|
||||
|
||||
|
||||
@@ -277,6 +279,15 @@ export type AccountAppleDevicesArgs = {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* An account is a container owning projects, credentials, billing and other organization
|
||||
* data and settings. Actors may own and be members of accounts.
|
||||
*/
|
||||
export type AccountEnvironmentSecretsArgs = {
|
||||
filterNames?: Maybe<Array<Scalars['String']>>;
|
||||
};
|
||||
|
||||
|
||||
export type Offer = {
|
||||
__typename?: 'Offer';
|
||||
id: Scalars['ID'];
|
||||
@@ -396,14 +407,16 @@ export type App = Project & {
|
||||
androidAppCredentials: Array<AndroidAppCredentials>;
|
||||
/** EAS channels owned by an app */
|
||||
updateChannels: Array<UpdateChannel>;
|
||||
/** get an EAS channel owned by the app by channelName */
|
||||
updateChannelByChannelName: UpdateChannel;
|
||||
/** get an EAS channel owned by the app by name */
|
||||
updateChannelByName: UpdateChannel;
|
||||
/** EAS branches owned by an app */
|
||||
updateBranches: Array<UpdateBranch>;
|
||||
/** get an EAS branch owned by the app by branchName */
|
||||
updateBranchByBranchName: UpdateBranch;
|
||||
/** get an EAS branch owned by the app by name */
|
||||
updateBranchByName: UpdateBranch;
|
||||
/** Coalesced project activity for an app. Use "createdBefore" to offset a query. */
|
||||
activityTimelineProjectActivities: Array<ActivityTimelineProjectActivity>;
|
||||
/** Environment secrets for an app */
|
||||
environmentSecrets: Array<EnvironmentSecret>;
|
||||
};
|
||||
|
||||
|
||||
@@ -458,8 +471,8 @@ export type AppUpdateChannelsArgs = {
|
||||
|
||||
|
||||
/** Represents an Exponent App (or Experience in legacy terms) */
|
||||
export type AppUpdateChannelByChannelNameArgs = {
|
||||
channelName: Scalars['String'];
|
||||
export type AppUpdateChannelByNameArgs = {
|
||||
name: Scalars['String'];
|
||||
};
|
||||
|
||||
|
||||
@@ -471,8 +484,8 @@ export type AppUpdateBranchesArgs = {
|
||||
|
||||
|
||||
/** Represents an Exponent App (or Experience in legacy terms) */
|
||||
export type AppUpdateBranchByBranchNameArgs = {
|
||||
branchName: Scalars['String'];
|
||||
export type AppUpdateBranchByNameArgs = {
|
||||
name: Scalars['String'];
|
||||
};
|
||||
|
||||
|
||||
@@ -482,6 +495,12 @@ export type AppActivityTimelineProjectActivitiesArgs = {
|
||||
createdBefore?: Maybe<Scalars['DateTime']>;
|
||||
};
|
||||
|
||||
|
||||
/** Represents an Exponent App (or Experience in legacy terms) */
|
||||
export type AppEnvironmentSecretsArgs = {
|
||||
filterNames?: Maybe<Array<Scalars['String']>>;
|
||||
};
|
||||
|
||||
export type AppIcon = {
|
||||
__typename?: 'AppIcon';
|
||||
url: Scalars['String'];
|
||||
@@ -730,7 +749,8 @@ export type BuildMetrics = {
|
||||
|
||||
export enum DistributionType {
|
||||
Store = 'STORE',
|
||||
Internal = 'INTERNAL'
|
||||
Internal = 'INTERNAL',
|
||||
Simulator = 'SIMULATOR'
|
||||
}
|
||||
|
||||
/** Represents an Standalone App build job */
|
||||
@@ -1011,7 +1031,7 @@ export type UpdateChannel = {
|
||||
__typename?: 'UpdateChannel';
|
||||
id: Scalars['ID'];
|
||||
appId: Scalars['ID'];
|
||||
channelName: Scalars['String'];
|
||||
name: Scalars['String'];
|
||||
branchMapping: Scalars['String'];
|
||||
createdAt: Scalars['DateTime'];
|
||||
updatedAt: Scalars['DateTime'];
|
||||
@@ -1028,7 +1048,7 @@ export type UpdateBranch = {
|
||||
__typename?: 'UpdateBranch';
|
||||
id: Scalars['ID'];
|
||||
appId: Scalars['ID'];
|
||||
branchName: Scalars['String'];
|
||||
name: Scalars['String'];
|
||||
createdAt: Scalars['DateTime'];
|
||||
updatedAt: Scalars['DateTime'];
|
||||
updates: Array<Update>;
|
||||
@@ -1049,11 +1069,19 @@ export type Update = ActivityTimelineProjectActivity & {
|
||||
platform: Scalars['String'];
|
||||
manifestFragment: Scalars['String'];
|
||||
runtimeVersion: Scalars['String'];
|
||||
updateGroup: Scalars['String'];
|
||||
group: Scalars['String'];
|
||||
updatedAt: Scalars['DateTime'];
|
||||
createdAt: Scalars['DateTime'];
|
||||
updateMessage?: Maybe<Scalars['String']>;
|
||||
branchName: Scalars['String'];
|
||||
message?: Maybe<Scalars['String']>;
|
||||
branch: UpdateBranch;
|
||||
};
|
||||
|
||||
export type EnvironmentSecret = {
|
||||
__typename?: 'EnvironmentSecret';
|
||||
id: Scalars['ID'];
|
||||
name: Scalars['String'];
|
||||
createdAt: Scalars['DateTime'];
|
||||
updatedAt: Scalars['DateTime'];
|
||||
};
|
||||
|
||||
export type UserPermission = {
|
||||
@@ -1475,6 +1503,8 @@ export type RootMutation = {
|
||||
me?: Maybe<MeMutation>;
|
||||
/** Mutations that modify an EmailSubscription */
|
||||
emailSubscription: EmailSubscriptionMutation;
|
||||
/** Mutations that create and delete EnvironmentSecrets */
|
||||
environmentSecret: EnvironmentSecretMutation;
|
||||
};
|
||||
|
||||
|
||||
@@ -2201,7 +2231,7 @@ export type UpdateChannelMutation = {
|
||||
|
||||
export type UpdateChannelMutationCreateUpdateChannelForAppArgs = {
|
||||
appId: Scalars['ID'];
|
||||
channelName: Scalars['String'];
|
||||
name: Scalars['String'];
|
||||
branchMapping?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
@@ -2243,7 +2273,7 @@ export type UpdateBranchMutation = {
|
||||
createUpdateBranchForApp?: Maybe<UpdateBranch>;
|
||||
/**
|
||||
* Edit an EAS branch. The branch can be specified either by its ID or
|
||||
* with the combination of (appId, branchName).
|
||||
* with the combination of (appId, name).
|
||||
*/
|
||||
editUpdateBranch: UpdateBranch;
|
||||
/** Delete an EAS branch and all of its updates as long as the branch is not being used by any channels */
|
||||
@@ -2255,7 +2285,7 @@ export type UpdateBranchMutation = {
|
||||
|
||||
export type UpdateBranchMutationCreateUpdateBranchForAppArgs = {
|
||||
appId: Scalars['ID'];
|
||||
branchName: Scalars['String'];
|
||||
name: Scalars['String'];
|
||||
};
|
||||
|
||||
|
||||
@@ -2276,8 +2306,8 @@ export type UpdateBranchMutationPublishUpdateGroupArgs = {
|
||||
export type EditUpdateBranchInput = {
|
||||
id?: Maybe<Scalars['ID']>;
|
||||
appId?: Maybe<Scalars['ID']>;
|
||||
branchName?: Maybe<Scalars['String']>;
|
||||
newBranchName: Scalars['String'];
|
||||
name?: Maybe<Scalars['String']>;
|
||||
newName: Scalars['String'];
|
||||
};
|
||||
|
||||
export type DeleteUpdateBranchResult = {
|
||||
@@ -2289,7 +2319,7 @@ export type PublishUpdateGroupInput = {
|
||||
branchId: Scalars['String'];
|
||||
updateInfoGroup: UpdateInfoGroup;
|
||||
runtimeVersion: Scalars['String'];
|
||||
updateMessage?: Maybe<Scalars['String']>;
|
||||
message?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type UpdateInfoGroup = {
|
||||
@@ -2598,6 +2628,43 @@ export type MailchimpTagPayload = {
|
||||
name?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type EnvironmentSecretMutation = {
|
||||
__typename?: 'EnvironmentSecretMutation';
|
||||
/** Create an environment secret for an Account */
|
||||
createEnvironmentSecretForAccount: EnvironmentSecret;
|
||||
/** Create an environment secret for an App */
|
||||
createEnvironmentSecretForApp: EnvironmentSecret;
|
||||
/** Delete an environment secret */
|
||||
deleteEnvironmentSecret: DeleteEnvironmentSecretResult;
|
||||
};
|
||||
|
||||
|
||||
export type EnvironmentSecretMutationCreateEnvironmentSecretForAccountArgs = {
|
||||
environmentSecretData?: Maybe<CreateEnvironmentSecretInput>;
|
||||
accountId: Scalars['String'];
|
||||
};
|
||||
|
||||
|
||||
export type EnvironmentSecretMutationCreateEnvironmentSecretForAppArgs = {
|
||||
environmentSecretData?: Maybe<CreateEnvironmentSecretInput>;
|
||||
appId: Scalars['String'];
|
||||
};
|
||||
|
||||
|
||||
export type EnvironmentSecretMutationDeleteEnvironmentSecretArgs = {
|
||||
id: Scalars['String'];
|
||||
};
|
||||
|
||||
export type CreateEnvironmentSecretInput = {
|
||||
name: Scalars['String'];
|
||||
value: Scalars['String'];
|
||||
};
|
||||
|
||||
export type DeleteEnvironmentSecretResult = {
|
||||
__typename?: 'DeleteEnvironmentSecretResult';
|
||||
id: Scalars['ID'];
|
||||
};
|
||||
|
||||
export type BaseSearchResult = SearchResult & {
|
||||
__typename?: 'BaseSearchResult';
|
||||
/** @deprecated Use SearchResult instead */
|
||||
@@ -3275,7 +3342,7 @@ export type UpdatePublishMutation = (
|
||||
{ __typename?: 'UpdateBranchMutation' }
|
||||
& { publishUpdateGroup: Array<Maybe<(
|
||||
{ __typename?: 'Update' }
|
||||
& Pick<Update, 'id' | 'updateGroup'>
|
||||
& Pick<Update, 'id' | 'group'>
|
||||
)>> }
|
||||
) }
|
||||
);
|
||||
|
||||
@@ -31,7 +31,7 @@ const PublishMutation = {
|
||||
|
||||
async publishUpdateGroupAsync(
|
||||
publishUpdateGroupInput: PublishUpdateGroupInput
|
||||
): Promise<Pick<Update, 'id' | 'updateGroup'>> {
|
||||
): Promise<Pick<Update, 'id' | 'group'>> {
|
||||
const data = await withErrorHandlingAsync(
|
||||
graphqlClient
|
||||
.mutation<UpdatePublishMutation>(
|
||||
@@ -40,7 +40,7 @@ const PublishMutation = {
|
||||
updateBranch {
|
||||
publishUpdateGroup(publishUpdateGroupInput: $publishUpdateGroupInput) {
|
||||
id
|
||||
updateGroup
|
||||
group
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,10 +125,10 @@ export function getProjectConfigDescription(projectDir: string): string {
|
||||
|
||||
export async function getBranchByNameAsync({
|
||||
appId,
|
||||
branchName,
|
||||
name,
|
||||
}: {
|
||||
appId: string;
|
||||
branchName: string;
|
||||
name: string;
|
||||
}): Promise<UpdateBranch> {
|
||||
const data = await withErrorHandlingAsync(
|
||||
graphqlClient
|
||||
@@ -136,23 +136,23 @@ export async function getBranchByNameAsync({
|
||||
{
|
||||
app: {
|
||||
byId: {
|
||||
updateBranchByBranchName: UpdateBranch;
|
||||
updateBranchByName: UpdateBranch;
|
||||
};
|
||||
};
|
||||
},
|
||||
{
|
||||
appId: string;
|
||||
branchName: string;
|
||||
name: string;
|
||||
}
|
||||
>(
|
||||
gql`
|
||||
query ViewBranch($appId: String!, $branchName: String!) {
|
||||
query ViewBranch($appId: String!, $name: String!) {
|
||||
app {
|
||||
byId(appId: $appId) {
|
||||
id
|
||||
updateBranchByBranchName(branchName: $branchName) {
|
||||
updateBranchByName(name: $name) {
|
||||
id
|
||||
branchName
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -160,10 +160,10 @@ export async function getBranchByNameAsync({
|
||||
`,
|
||||
{
|
||||
appId,
|
||||
branchName,
|
||||
name,
|
||||
}
|
||||
)
|
||||
.toPromise()
|
||||
);
|
||||
return data.app.byId.updateBranchByBranchName;
|
||||
return data.app.byId.updateBranchByName;
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "@expo/eas-json",
|
||||
"description": "A library for interacting with the eas.json",
|
||||
"version": "0.4.1",
|
||||
"version": "0.4.3",
|
||||
"author": "Expo <[email protected]>",
|
||||
"bugs": "https://github.com/expo/eas-cli/issues",
|
||||
"dependencies": {
|
||||
"@expo/eas-build-job": "0.2.11",
|
||||
"@expo/eas-build-job": "0.2.12",
|
||||
"@hapi/joi": "^17.1.1",
|
||||
"fs-extra": "^9.0.1",
|
||||
"tslib": "^1"
|
||||
|
||||
@@ -6,10 +6,9 @@ export enum CredentialsSource {
|
||||
AUTO = 'auto',
|
||||
}
|
||||
|
||||
export enum DistributionType {
|
||||
STORE = 'store',
|
||||
INTERNAL = 'internal',
|
||||
}
|
||||
export type AndroidDistributionType = 'store' | 'internal';
|
||||
export type iOSDistributionType = 'store' | 'internal' | 'simulator';
|
||||
export type DistributionType = AndroidDistributionType | iOSDistributionType;
|
||||
|
||||
export type VersionAutoIncrement = boolean | 'version' | 'buildNumber';
|
||||
|
||||
@@ -18,7 +17,7 @@ export interface AndroidManagedBuildProfile extends Android.BuilderEnvironment {
|
||||
credentialsSource: CredentialsSource;
|
||||
buildType?: Android.ManagedBuildType;
|
||||
releaseChannel?: string;
|
||||
distribution?: DistributionType;
|
||||
distribution?: AndroidDistributionType;
|
||||
}
|
||||
|
||||
export interface AndroidGenericBuildProfile extends Android.BuilderEnvironment {
|
||||
@@ -28,7 +27,7 @@ export interface AndroidGenericBuildProfile extends Android.BuilderEnvironment {
|
||||
releaseChannel?: string;
|
||||
artifactPath?: string;
|
||||
withoutCredentials?: boolean;
|
||||
distribution?: DistributionType;
|
||||
distribution?: AndroidDistributionType;
|
||||
}
|
||||
|
||||
export interface iOSManagedBuildProfile extends iOS.BuilderEnvironment {
|
||||
@@ -36,7 +35,7 @@ export interface iOSManagedBuildProfile extends iOS.BuilderEnvironment {
|
||||
credentialsSource: CredentialsSource;
|
||||
buildType?: iOS.ManagedBuildType;
|
||||
releaseChannel?: string;
|
||||
distribution?: DistributionType;
|
||||
distribution?: iOSDistributionType;
|
||||
autoIncrement: VersionAutoIncrement;
|
||||
}
|
||||
|
||||
@@ -44,10 +43,10 @@ export interface iOSGenericBuildProfile extends iOS.BuilderEnvironment {
|
||||
workflow: Workflow.Generic;
|
||||
credentialsSource: CredentialsSource;
|
||||
scheme?: string;
|
||||
schemeBuildConfiguration?: iOS.GenericSchemeBuildConfiguration;
|
||||
schemeBuildConfiguration?: iOS.SchemeBuildConfiguration;
|
||||
releaseChannel?: string;
|
||||
artifactPath?: string;
|
||||
distribution?: DistributionType;
|
||||
distribution?: iOSDistributionType;
|
||||
autoIncrement: VersionAutoIncrement;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ const iOSGenericSchema = Joi.object({
|
||||
schemeBuildConfiguration: Joi.string().valid('Debug', 'Release'),
|
||||
releaseChannel: Joi.string(),
|
||||
artifactPath: Joi.string(),
|
||||
distribution: Joi.string().valid('store', 'internal').default('store'),
|
||||
distribution: Joi.string().valid('store', 'internal', 'simulator').default('store'),
|
||||
autoIncrement: Joi.alternatives()
|
||||
.try(Joi.boolean(), Joi.string().valid('version', 'buildNumber'))
|
||||
.default(false),
|
||||
@@ -74,7 +74,7 @@ const iOSManagedSchema = Joi.object({
|
||||
credentialsSource: Joi.string().valid('local', 'remote', 'auto').default('auto'),
|
||||
buildType: Joi.string().valid('release', 'development-client'),
|
||||
releaseChannel: Joi.string(),
|
||||
distribution: Joi.string().valid('store', 'internal').default('store'),
|
||||
distribution: Joi.string().valid('store', 'internal', 'simulator').default('store'),
|
||||
autoIncrement: Joi.alternatives()
|
||||
.try(Joi.boolean(), Joi.string().valid('version', 'buildNumber'))
|
||||
.default(false),
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
export {
|
||||
CredentialsSource,
|
||||
DistributionType,
|
||||
AndroidDistributionType,
|
||||
AndroidManagedBuildProfile,
|
||||
AndroidGenericBuildProfile,
|
||||
AndroidBuildProfile,
|
||||
iOSDistributionType,
|
||||
iOSManagedBuildProfile,
|
||||
iOSGenericBuildProfile,
|
||||
iOSBuildProfile,
|
||||
DistributionType,
|
||||
EasConfig,
|
||||
VersionAutoIncrement,
|
||||
} from './Config.types';
|
||||
|
||||
@@ -1151,10 +1151,10 @@
|
||||
xcode "^3.0.0"
|
||||
xml-js "^1.6.11"
|
||||
|
||||
"@expo/[email protected]1":
|
||||
version "0.2.11"
|
||||
resolved "https://registry.yarnpkg.com/@expo/eas-build-job/-/eas-build-job-0.2.11.tgz#cc4c9816c1e3cea29bca7b2eac4de99c6e6b804d"
|
||||
integrity sha512-IeG37+10OteIG2RpKTA0ClxFxQVuRx9QYu8qbesMpmroKSDyrRZQFD9DdAho2CFr+WCUG5vLVfJpGuw17LrQ+Q==
|
||||
"@expo/[email protected]2":
|
||||
version "0.2.12"
|
||||
resolved "https://registry.yarnpkg.com/@expo/eas-build-job/-/eas-build-job-0.2.12.tgz#35224e8ad7e9d6f70d76172b75c3b6824293470e"
|
||||
integrity sha512-a70/NZfsnQFnEqt+b6DK8g1OAExRjHSDf4MFOVAXg7DlhIIB9cAhRiJE/5ksfZfaJ7CI/RdEysU7fCWkspcNig==
|
||||
dependencies:
|
||||
"@hapi/joi" "^17.1.1"
|
||||
|
||||
|
||||
Reference in new issue
Block a user