eas-cli 2.3.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/README.md +47 -47
  2. package/build/ApiV2Error.d.ts +15 -0
  3. package/build/ApiV2Error.js +14 -0
  4. package/build/api.d.ts +10 -16
  5. package/build/api.js +52 -59
  6. package/build/branch/queries.d.ts +3 -2
  7. package/build/branch/queries.js +7 -7
  8. package/build/build/android/build.js +3 -3
  9. package/build/build/android/syncProjectConfiguration.d.ts +2 -1
  10. package/build/build/android/syncProjectConfiguration.js +2 -2
  11. package/build/build/android/version.d.ts +2 -1
  12. package/build/build/android/version.js +4 -4
  13. package/build/build/build.d.ts +2 -1
  14. package/build/build/build.js +5 -5
  15. package/build/build/context.d.ts +2 -0
  16. package/build/build/createContext.d.ts +3 -1
  17. package/build/build/createContext.js +4 -2
  18. package/build/build/ios/build.js +3 -3
  19. package/build/build/ios/syncProjectConfiguration.d.ts +2 -1
  20. package/build/build/ios/syncProjectConfiguration.js +2 -2
  21. package/build/build/ios/version.d.ts +2 -1
  22. package/build/build/ios/version.js +4 -4
  23. package/build/build/local.js +1 -1
  24. package/build/build/queries.d.ts +2 -1
  25. package/build/build/queries.js +3 -3
  26. package/build/build/runBuildAndSubmit.d.ts +2 -1
  27. package/build/build/runBuildAndSubmit.js +9 -6
  28. package/build/channel/queries.d.ts +4 -3
  29. package/build/channel/queries.js +13 -13
  30. package/build/commandUtils/EasCommand.d.ts +24 -3
  31. package/build/commandUtils/EasCommand.js +36 -6
  32. package/build/commandUtils/context/ContextField.d.ts +2 -0
  33. package/build/commandUtils/context/DynamicProjectConfigContextField.d.ts +1 -1
  34. package/build/commandUtils/context/DynamicProjectConfigContextField.js +2 -2
  35. package/build/commandUtils/context/LoggedInContextField.d.ts +12 -0
  36. package/build/commandUtils/context/LoggedInContextField.js +15 -0
  37. package/build/commandUtils/context/MaybeLoggedInContextField.d.ts +12 -0
  38. package/build/commandUtils/context/MaybeLoggedInContextField.js +17 -0
  39. package/build/commandUtils/context/OptionalProjectConfigContextField.d.ts +1 -1
  40. package/build/commandUtils/context/OptionalProjectConfigContextField.js +2 -2
  41. package/build/commandUtils/context/ProjectConfigContextField.d.ts +1 -1
  42. package/build/commandUtils/context/ProjectConfigContextField.js +2 -2
  43. package/build/commandUtils/context/SessionManagementContextField.d.ts +5 -0
  44. package/build/commandUtils/context/SessionManagementContextField.js +10 -0
  45. package/build/commandUtils/context/contextUtils/createGraphqlClient.d.ts +11 -0
  46. package/build/commandUtils/context/contextUtils/createGraphqlClient.js +43 -0
  47. package/build/commandUtils/context/contextUtils/getProjectIdAsync.d.ts +2 -1
  48. package/build/commandUtils/context/contextUtils/getProjectIdAsync.js +11 -7
  49. package/build/commands/account/login.d.ts +3 -0
  50. package/build/commands/account/login.js +7 -2
  51. package/build/commands/account/logout.d.ts +3 -0
  52. package/build/commands/account/logout.js +7 -2
  53. package/build/commands/account/view.d.ts +3 -0
  54. package/build/commands/account/view.js +8 -3
  55. package/build/commands/branch/create.d.ts +3 -1
  56. package/build/commands/branch/create.js +6 -5
  57. package/build/commands/branch/delete.d.ts +1 -0
  58. package/build/commands/branch/delete.js +10 -9
  59. package/build/commands/branch/list.d.ts +1 -0
  60. package/build/commands/branch/list.js +3 -2
  61. package/build/commands/branch/rename.d.ts +1 -0
  62. package/build/commands/branch/rename.js +6 -5
  63. package/build/commands/branch/view.d.ts +1 -0
  64. package/build/commands/branch/view.js +4 -3
  65. package/build/commands/build/cancel.d.ts +3 -1
  66. package/build/commands/build/cancel.js +14 -13
  67. package/build/commands/build/configure.d.ts +1 -0
  68. package/build/commands/build/configure.js +4 -3
  69. package/build/commands/build/index.d.ts +1 -1
  70. package/build/commands/build/index.js +3 -3
  71. package/build/commands/build/inspect.d.ts +1 -1
  72. package/build/commands/build/inspect.js +2 -2
  73. package/build/commands/build/list.d.ts +1 -0
  74. package/build/commands/build/list.js +4 -3
  75. package/build/commands/build/version/set.d.ts +1 -1
  76. package/build/commands/build/version/set.js +4 -4
  77. package/build/commands/build/version/sync.d.ts +1 -1
  78. package/build/commands/build/version/sync.js +2 -2
  79. package/build/commands/build/view.d.ts +1 -0
  80. package/build/commands/build/view.js +5 -4
  81. package/build/commands/channel/create.d.ts +3 -1
  82. package/build/commands/channel/create.js +8 -7
  83. package/build/commands/channel/delete.d.ts +1 -0
  84. package/build/commands/channel/delete.js +7 -6
  85. package/build/commands/channel/edit.d.ts +3 -1
  86. package/build/commands/channel/edit.js +12 -8
  87. package/build/commands/channel/list.d.ts +1 -0
  88. package/build/commands/channel/list.js +3 -2
  89. package/build/commands/channel/rollout.d.ts +1 -0
  90. package/build/commands/channel/rollout.js +15 -14
  91. package/build/commands/channel/view.d.ts +1 -0
  92. package/build/commands/channel/view.js +4 -3
  93. package/build/commands/credentials.d.ts +1 -1
  94. package/build/commands/credentials.js +2 -2
  95. package/build/commands/device/create.d.ts +1 -1
  96. package/build/commands/device/create.js +2 -1
  97. package/build/commands/device/delete.d.ts +3 -1
  98. package/build/commands/device/delete.js +9 -8
  99. package/build/commands/device/list.d.ts +1 -0
  100. package/build/commands/device/list.js +5 -4
  101. package/build/commands/device/view.d.ts +1 -0
  102. package/build/commands/device/view.js +4 -3
  103. package/build/commands/metadata/pull.d.ts +1 -1
  104. package/build/commands/metadata/pull.js +2 -1
  105. package/build/commands/metadata/push.d.ts +1 -1
  106. package/build/commands/metadata/push.js +2 -1
  107. package/build/commands/open.d.ts +1 -0
  108. package/build/commands/open.js +3 -2
  109. package/build/commands/project/info.d.ts +1 -0
  110. package/build/commands/project/info.js +5 -4
  111. package/build/commands/project/init.d.ts +1 -1
  112. package/build/commands/project/init.js +5 -5
  113. package/build/commands/secret/create.d.ts +1 -0
  114. package/build/commands/secret/create.js +10 -9
  115. package/build/commands/secret/delete.d.ts +1 -0
  116. package/build/commands/secret/delete.js +4 -3
  117. package/build/commands/secret/list.d.ts +1 -0
  118. package/build/commands/secret/list.js +3 -2
  119. package/build/commands/submit.d.ts +1 -1
  120. package/build/commands/submit.js +4 -3
  121. package/build/commands/update/configure.d.ts +1 -0
  122. package/build/commands/update/configure.js +4 -3
  123. package/build/commands/update/delete.d.ts +3 -0
  124. package/build/commands/update/delete.js +9 -3
  125. package/build/commands/update/index.d.ts +3 -1
  126. package/build/commands/update/index.js +23 -17
  127. package/build/commands/update/list.d.ts +1 -0
  128. package/build/commands/update/list.js +6 -5
  129. package/build/commands/update/view.d.ts +3 -0
  130. package/build/commands/update/view.js +7 -1
  131. package/build/commands/webhook/create.d.ts +1 -0
  132. package/build/commands/webhook/create.js +3 -2
  133. package/build/commands/webhook/delete.d.ts +1 -0
  134. package/build/commands/webhook/delete.js +7 -6
  135. package/build/commands/webhook/list.d.ts +1 -0
  136. package/build/commands/webhook/list.js +4 -3
  137. package/build/commands/webhook/update.d.ts +3 -0
  138. package/build/commands/webhook/update.js +8 -2
  139. package/build/commands/webhook/view.d.ts +3 -0
  140. package/build/commands/webhook/view.js +7 -1
  141. package/build/credentials/android/actions/AssignFcm.js +2 -2
  142. package/build/credentials/android/actions/AssignGoogleServiceAccountKey.js +2 -2
  143. package/build/credentials/android/actions/BuildCredentialsUtils.js +12 -12
  144. package/build/credentials/android/actions/CreateFcm.js +1 -1
  145. package/build/credentials/android/actions/CreateGoogleServiceAccountKey.js +1 -1
  146. package/build/credentials/android/actions/CreateKeystore.js +4 -4
  147. package/build/credentials/android/actions/RemoveFcm.js +2 -2
  148. package/build/credentials/android/actions/RemoveGoogleServiceAccountKey.js +2 -2
  149. package/build/credentials/android/actions/RemoveKeystore.js +1 -1
  150. package/build/credentials/android/actions/SetUpBuildCredentials.js +3 -3
  151. package/build/credentials/android/actions/SetUpBuildCredentialsFromCredentialsJson.js +3 -3
  152. package/build/credentials/android/actions/SetUpGoogleServiceAccountKey.js +3 -3
  153. package/build/credentials/android/actions/UseExistingGoogleServiceAccountKey.js +1 -1
  154. package/build/credentials/android/api/GraphqlClient.d.ts +19 -18
  155. package/build/credentials/android/api/GraphqlClient.js +45 -45
  156. package/build/credentials/android/api/graphql/mutations/AndroidAppBuildCredentialsMutation.d.ts +3 -2
  157. package/build/credentials/android/api/graphql/mutations/AndroidAppBuildCredentialsMutation.js +4 -4
  158. package/build/credentials/android/api/graphql/mutations/AndroidAppCredentialsMutation.d.ts +4 -3
  159. package/build/credentials/android/api/graphql/mutations/AndroidAppCredentialsMutation.js +6 -6
  160. package/build/credentials/android/api/graphql/mutations/AndroidFcmMutation.d.ts +3 -2
  161. package/build/credentials/android/api/graphql/mutations/AndroidFcmMutation.js +4 -4
  162. package/build/credentials/android/api/graphql/mutations/AndroidKeystoreMutation.d.ts +3 -2
  163. package/build/credentials/android/api/graphql/mutations/AndroidKeystoreMutation.js +4 -4
  164. package/build/credentials/android/api/graphql/mutations/GoogleServiceAccountKeyMutation.d.ts +3 -2
  165. package/build/credentials/android/api/graphql/mutations/GoogleServiceAccountKeyMutation.js +4 -4
  166. package/build/credentials/android/api/graphql/queries/AndroidAppCredentialsQuery.d.ts +2 -1
  167. package/build/credentials/android/api/graphql/queries/AndroidAppCredentialsQuery.js +2 -2
  168. package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.d.ts +2 -1
  169. package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +2 -2
  170. package/build/credentials/android/utils/keystore.d.ts +2 -1
  171. package/build/credentials/android/utils/keystore.js +6 -6
  172. package/build/credentials/context.d.ts +3 -0
  173. package/build/credentials/context.js +1 -0
  174. package/build/credentials/credentialsJson/update.js +1 -1
  175. package/build/credentials/ios/actions/AppleTeamUtils.js +1 -1
  176. package/build/credentials/ios/actions/AscApiKeyUtils.js +1 -1
  177. package/build/credentials/ios/actions/AssignAscApiKey.js +2 -2
  178. package/build/credentials/ios/actions/AssignPushKey.js +2 -2
  179. package/build/credentials/ios/actions/BuildCredentialsUtils.js +5 -5
  180. package/build/credentials/ios/actions/ConfigureProvisioningProfile.js +1 -1
  181. package/build/credentials/ios/actions/CreateAscApiKey.js +1 -1
  182. package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -1
  183. package/build/credentials/ios/actions/CreateProvisioningProfile.js +2 -2
  184. package/build/credentials/ios/actions/CreatePushKey.js +1 -1
  185. package/build/credentials/ios/actions/DistributionCertificateUtils.js +2 -2
  186. package/build/credentials/ios/actions/PushKeyUtils.js +1 -1
  187. package/build/credentials/ios/actions/RemoveAscApiKey.js +1 -1
  188. package/build/credentials/ios/actions/RemoveDistributionCertificate.js +1 -1
  189. package/build/credentials/ios/actions/RemoveProvisioningProfile.js +1 -1
  190. package/build/credentials/ios/actions/RemovePushKey.js +1 -1
  191. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +8 -8
  192. package/build/credentials/ios/actions/SetUpAscApiKey.js +2 -2
  193. package/build/credentials/ios/actions/SetUpDistributionCertificate.js +2 -2
  194. package/build/credentials/ios/actions/SetUpProvisioningProfile.js +1 -1
  195. package/build/credentials/ios/actions/SetUpPushKey.js +4 -4
  196. package/build/credentials/ios/actions/SetUpTargetBuildCredentialsFromCredentialsJson.js +5 -5
  197. package/build/credentials/ios/api/GraphqlClient.d.ts +25 -24
  198. package/build/credentials/ios/api/GraphqlClient.js +73 -73
  199. package/build/credentials/ios/api/graphql/mutations/AppStoreConnectApiKeyMutation.d.ts +3 -2
  200. package/build/credentials/ios/api/graphql/mutations/AppStoreConnectApiKeyMutation.js +4 -4
  201. package/build/credentials/ios/api/graphql/mutations/AppleAppIdentifierMutation.d.ts +2 -1
  202. package/build/credentials/ios/api/graphql/mutations/AppleAppIdentifierMutation.js +2 -2
  203. package/build/credentials/ios/api/graphql/mutations/AppleDeviceMutation.d.ts +3 -2
  204. package/build/credentials/ios/api/graphql/mutations/AppleDeviceMutation.js +4 -4
  205. package/build/credentials/ios/api/graphql/mutations/AppleDeviceRegistrationRequestMutation.d.ts +2 -1
  206. package/build/credentials/ios/api/graphql/mutations/AppleDeviceRegistrationRequestMutation.js +2 -2
  207. package/build/credentials/ios/api/graphql/mutations/AppleDistributionCertificateMutation.d.ts +3 -2
  208. package/build/credentials/ios/api/graphql/mutations/AppleDistributionCertificateMutation.js +4 -4
  209. package/build/credentials/ios/api/graphql/mutations/AppleProvisioningProfileMutation.d.ts +4 -3
  210. package/build/credentials/ios/api/graphql/mutations/AppleProvisioningProfileMutation.js +6 -6
  211. package/build/credentials/ios/api/graphql/mutations/ApplePushKeyMutation.d.ts +3 -2
  212. package/build/credentials/ios/api/graphql/mutations/ApplePushKeyMutation.js +4 -4
  213. package/build/credentials/ios/api/graphql/mutations/AppleTeamMutation.d.ts +2 -1
  214. package/build/credentials/ios/api/graphql/mutations/AppleTeamMutation.js +2 -2
  215. package/build/credentials/ios/api/graphql/mutations/IosAppBuildCredentialsMutation.d.ts +4 -3
  216. package/build/credentials/ios/api/graphql/mutations/IosAppBuildCredentialsMutation.js +6 -6
  217. package/build/credentials/ios/api/graphql/mutations/IosAppCredentialsMutation.d.ts +4 -3
  218. package/build/credentials/ios/api/graphql/mutations/IosAppCredentialsMutation.js +6 -6
  219. package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.d.ts +2 -1
  220. package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.js +2 -2
  221. package/build/credentials/ios/api/graphql/queries/AppleAppIdentifierQuery.d.ts +2 -1
  222. package/build/credentials/ios/api/graphql/queries/AppleAppIdentifierQuery.js +2 -2
  223. package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.d.ts +4 -3
  224. package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.js +6 -6
  225. package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.d.ts +3 -2
  226. package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.js +4 -4
  227. package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.d.ts +2 -1
  228. package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.js +2 -2
  229. package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.d.ts +2 -1
  230. package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.js +2 -2
  231. package/build/credentials/ios/api/graphql/queries/AppleTeamQuery.d.ts +3 -2
  232. package/build/credentials/ios/api/graphql/queries/AppleTeamQuery.js +4 -4
  233. package/build/credentials/ios/api/graphql/queries/IosAppBuildCredentialsQuery.d.ts +2 -1
  234. package/build/credentials/ios/api/graphql/queries/IosAppBuildCredentialsQuery.js +2 -2
  235. package/build/credentials/ios/api/graphql/queries/IosAppCredentialsQuery.d.ts +3 -2
  236. package/build/credentials/ios/api/graphql/queries/IosAppCredentialsQuery.js +4 -4
  237. package/build/credentials/manager/HelperActions.d.ts +2 -0
  238. package/build/credentials/manager/ManageAndroid.js +4 -3
  239. package/build/credentials/manager/ManageIos.js +4 -3
  240. package/build/credentials/manager/SelectAndroidBuildCredentials.js +2 -2
  241. package/build/credentials/manager/SelectPlatform.d.ts +3 -1
  242. package/build/credentials/manager/SelectPlatform.js +2 -1
  243. package/build/devices/actions/create/action.d.ts +3 -1
  244. package/build/devices/actions/create/action.js +5 -4
  245. package/build/devices/actions/create/developerPortalMethod.d.ts +2 -1
  246. package/build/devices/actions/create/developerPortalMethod.js +9 -9
  247. package/build/devices/actions/create/inputMethod.d.ts +2 -1
  248. package/build/devices/actions/create/inputMethod.js +4 -4
  249. package/build/devices/actions/create/registrationUrlMethod.d.ts +2 -1
  250. package/build/devices/actions/create/registrationUrlMethod.js +4 -4
  251. package/build/devices/context.d.ts +4 -1
  252. package/build/devices/context.js +2 -1
  253. package/build/devices/manager.d.ts +3 -1
  254. package/build/devices/manager.js +9 -8
  255. package/build/devices/queries.d.ts +4 -3
  256. package/build/devices/queries.js +7 -7
  257. package/build/graphql/client.d.ts +1 -8
  258. package/build/graphql/client.js +1 -39
  259. package/build/graphql/mutations/AppMutation.d.ts +2 -1
  260. package/build/graphql/mutations/AppMutation.js +2 -2
  261. package/build/graphql/mutations/AppVersionMutation.d.ts +2 -1
  262. package/build/graphql/mutations/AppVersionMutation.js +2 -2
  263. package/build/graphql/mutations/BuildMutation.d.ts +3 -2
  264. package/build/graphql/mutations/BuildMutation.js +4 -4
  265. package/build/graphql/mutations/EnvironmentSecretMutation.d.ts +4 -3
  266. package/build/graphql/mutations/EnvironmentSecretMutation.js +6 -6
  267. package/build/graphql/mutations/KeystoreGenerationUrlMutation.d.ts +2 -1
  268. package/build/graphql/mutations/KeystoreGenerationUrlMutation.js +2 -2
  269. package/build/graphql/mutations/PublishMutation.d.ts +4 -3
  270. package/build/graphql/mutations/PublishMutation.js +6 -6
  271. package/build/graphql/mutations/SubmissionMutation.d.ts +3 -2
  272. package/build/graphql/mutations/SubmissionMutation.js +4 -4
  273. package/build/graphql/mutations/UploadSessionMutation.d.ts +2 -1
  274. package/build/graphql/mutations/UploadSessionMutation.js +2 -2
  275. package/build/graphql/mutations/WebhookMutation.d.ts +4 -3
  276. package/build/graphql/mutations/WebhookMutation.js +6 -6
  277. package/build/graphql/queries/AppQuery.d.ts +3 -2
  278. package/build/graphql/queries/AppQuery.js +4 -4
  279. package/build/graphql/queries/AppVersionQuery.d.ts +2 -1
  280. package/build/graphql/queries/AppVersionQuery.js +2 -2
  281. package/build/graphql/queries/BranchQuery.d.ts +4 -3
  282. package/build/graphql/queries/BranchQuery.js +6 -6
  283. package/build/graphql/queries/BuildQuery.d.ts +4 -3
  284. package/build/graphql/queries/BuildQuery.js +6 -6
  285. package/build/graphql/queries/ChannelQuery.d.ts +3 -2
  286. package/build/graphql/queries/ChannelQuery.js +4 -4
  287. package/build/graphql/queries/EnvironmentSecretsQuery.d.ts +3 -2
  288. package/build/graphql/queries/EnvironmentSecretsQuery.js +4 -4
  289. package/build/graphql/queries/PublishQuery.d.ts +3 -2
  290. package/build/graphql/queries/PublishQuery.js +4 -4
  291. package/build/graphql/queries/StatuspageServiceQuery.d.ts +2 -1
  292. package/build/graphql/queries/StatuspageServiceQuery.js +2 -2
  293. package/build/graphql/queries/SubmissionQuery.d.ts +3 -2
  294. package/build/graphql/queries/SubmissionQuery.js +4 -4
  295. package/build/graphql/queries/UpdateQuery.d.ts +4 -3
  296. package/build/graphql/queries/UpdateQuery.js +6 -6
  297. package/build/graphql/queries/UserQuery.d.ts +2 -1
  298. package/build/graphql/queries/UserQuery.js +2 -2
  299. package/build/graphql/queries/WebhookQuery.d.ts +3 -2
  300. package/build/graphql/queries/WebhookQuery.js +4 -4
  301. package/build/project/fetchOrCreateProjectIDForWriteToConfigWithConfirmationAsync.d.ts +3 -2
  302. package/build/project/fetchOrCreateProjectIDForWriteToConfigWithConfirmationAsync.js +5 -5
  303. package/build/project/projectUtils.d.ts +3 -2
  304. package/build/project/projectUtils.js +4 -4
  305. package/build/project/publish.d.ts +3 -2
  306. package/build/project/publish.js +7 -7
  307. package/build/submit/ArchiveSource.d.ts +2 -1
  308. package/build/submit/ArchiveSource.js +30 -30
  309. package/build/submit/android/AndroidSubmitter.js +2 -2
  310. package/build/submit/context.d.ts +3 -0
  311. package/build/submit/context.js +3 -2
  312. package/build/submit/ios/IosSubmitter.js +2 -2
  313. package/build/submit/submit.d.ts +2 -1
  314. package/build/submit/submit.js +2 -2
  315. package/build/submit/utils/builds.d.ts +2 -1
  316. package/build/submit/utils/builds.js +2 -2
  317. package/build/submit/utils/errors.d.ts +3 -0
  318. package/build/submit/utils/errors.js +15 -67
  319. package/build/submit/utils/files.d.ts +2 -1
  320. package/build/submit/utils/files.js +2 -2
  321. package/build/submit/utils/wait.d.ts +2 -1
  322. package/build/submit/utils/wait.js +2 -2
  323. package/build/update/android/UpdatesModule.d.ts +2 -1
  324. package/build/update/android/UpdatesModule.js +2 -2
  325. package/build/update/ios/UpdatesModule.d.ts +2 -1
  326. package/build/update/ios/UpdatesModule.js +2 -2
  327. package/build/update/queries.d.ts +4 -3
  328. package/build/update/queries.js +22 -12
  329. package/build/uploads.d.ts +2 -1
  330. package/build/uploads.js +2 -2
  331. package/build/user/SessionManager.d.ts +70 -0
  332. package/build/user/SessionManager.js +258 -0
  333. package/build/user/User.d.ts +0 -9
  334. package/build/user/User.js +1 -60
  335. package/build/user/fetchSessionSecretAndUser.d.ts +9 -0
  336. package/build/user/fetchSessionSecretAndUser.js +43 -0
  337. package/build/utils/statuspageService.d.ts +2 -1
  338. package/build/utils/statuspageService.js +4 -4
  339. package/oclif.manifest.json +1 -1
  340. package/package.json +2 -2
  341. package/build/commandUtils/context/ActorContextField.d.ts +0 -5
  342. package/build/commandUtils/context/ActorContextField.js +0 -11
  343. package/build/commandUtils/context/contextUtils/ensureLoggedInAsync.d.ts +0 -21
  344. package/build/commandUtils/context/contextUtils/ensureLoggedInAsync.js +0 -75
  345. package/build/user/otp.d.ts +0 -29
  346. package/build/user/otp.js +0 -119
  347. package/build/user/sessionStorage.d.ts +0 -11
  348. package/build/user/sessionStorage.js +0 -36
@@ -1 +1 @@
1
- {"version":"2.3.0","commands":{"analytics":{"id":"analytics","description":"display or change analytics settings","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"display project configuration (app.json + eas.json)","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"getDynamicProjectConfigAsync":{},"projectDir":{}}},"credentials":{"id":"credentials","description":"manage credentials","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]}},"args":[],"contextDefinition":{"actor":{},"projectConfig":{}}},"diagnostics":{"id":"diagnostics","description":"display environment info","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectDir":{}}},"open":{"id":"open","description":"open the project page in a web browser","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectConfig":{}}},"submit":{"id":"submit","description":"submit app binary to App Store and/or Play Store","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"id":{"name":"id","type":"option","description":"ID of the build to submit","multiple":false,"exclusive":["latest, path, url"]},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file","multiple":false,"exclusive":["latest","id","url"]},"url":{"name":"url","type":"option","description":"App archive url","multiple":false,"exclusive":["latest","id","path"]},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from Submission Service","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for submission to complete","allowNo":true},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false}},"args":[],"contextDefinition":{"actor":{},"projectConfig":{},"projectDir":{}}},"account:login":{"id":"account:login","description":"log in with your Expo account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["login"],"flags":{},"args":[]},"account:logout":{"id":"account:logout","description":"log out","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[]},"account:view":{"id":"account:view","description":"show the username you are logged in as","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[]},"branch:create":{"id":"branch:create","description":"create a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}],"contextDefinition":{"projectConfig":{}}},"branch:delete":{"id":"branch:delete","description":"delete a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}],"contextDefinition":{"projectConfig":{}}},"branch:list":{"id":"branch:list","description":"list all branches","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"branch:publish":{"id":"branch:publish","description":"deprecated, use \"eas update\"","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[]},"branch:rename":{"id":"branch:rename","description":"rename a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false,"multiple":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"branch:view":{"id":"branch:view","description":"view a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}],"contextDefinition":{"projectConfig":{}}},"build:cancel":{"id":"build:cancel","description":"cancel a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"projectConfig":{}}},"build:configure":{"id":"build:configure","description":"configure the project to support EAS Build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]}},"args":[],"contextDefinition":{"projectConfig":{}}},"build":{"id":"build","description":"start a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","type":"boolean","hidden":true,"allowNo":false},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","hidden":true,"allowNo":false},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":false},"output":{"name":"output","type":"option","description":"Output path for local build","multiple":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete","allowNo":true},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear cache before the build","allowNo":false},"auto-submit":{"name":"auto-submit","type":"boolean","description":"Submit on build complete using the submit profile with the same name as the build profile","allowNo":false,"exclusive":["auto-submit-with-profile"]},"auto-submit-with-profile":{"name":"auto-submit-with-profile","type":"option","description":"Submit on build complete using the submit profile with provided name","helpValue":"PROFILE_NAME","multiple":false,"exclusive":["auto-submit"]},"resource-class":{"name":"resource-class","type":"option","description":"The instance type that will be used to run this build [experimental]","hidden":true,"helpValue":"(default|large|m1-experimental)","multiple":false,"options":["default","large","m1-experimental"]},"message":{"name":"message","type":"option","char":"m","description":"A short message describing the build","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"actor":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}},"build:inspect":{"id":"build:inspect","description":"inspect the state of the project at specific build stages, useful for troubleshooting","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","required":true,"helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"stage":{"name":"stage","type":"option","char":"s","description":"Stage of the build you want to inspect.\n archive - builds the project archive that would be uploaded to EAS when building\n pre-build - prepares the project to be built with Gradle/Xcode. Does not run the native build.\n post-build - builds the native project and leaves the output directory for inspection","required":true,"helpValue":"(archive|pre-build|post-build)","multiple":false,"options":["archive","pre-build","post-build"]},"output":{"name":"output","type":"option","char":"o","description":"Output directory.","required":true,"helpValue":"OUTPUT_DIRECTORY","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete OUTPUT_DIRECTORY if it already exists.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"contextDefinition":{"actor":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}},"build:list":{"id":"build:list","description":"list all builds for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","multiple":false,"options":["all","android","ios"]},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|errored|finished|canceled)","multiple":false,"options":["new","in-queue","in-progress","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","multiple":false,"options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option","multiple":false},"appVersion":{"name":"appVersion","type":"option","multiple":false},"appBuildVersion":{"name":"appBuildVersion","type":"option","multiple":false},"sdkVersion":{"name":"sdkVersion","type":"option","multiple":false},"runtimeVersion":{"name":"runtimeVersion","type":"option","multiple":false},"appIdentifier":{"name":"appIdentifier","type":"option","multiple":false},"buildProfile":{"name":"buildProfile","type":"option","multiple":false},"gitCommitHash":{"name":"gitCommitHash","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"build:view":{"id":"build:view","description":"view a build for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"projectConfig":{}}},"channel:create":{"id":"channel:create","description":"create a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}],"contextDefinition":{"projectConfig":{}}},"channel:delete":{"id":"channel:delete","description":"Delete a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to delete","required":false}],"contextDefinition":{"projectConfig":{}}},"channel:edit":{"id":"channel:edit","description":"point a channel at a new branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}],"contextDefinition":{"projectConfig":{}}},"channel:list":{"id":"channel:list","description":"list all channels","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 25.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"channel:rollout":{"id":"channel:rollout","description":"Rollout a new branch out to a channel incrementally.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false,"multiple":false},"percent":{"name":"percent","type":"option","description":"percent of traffic to redirect to the new branch","required":false,"multiple":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"channel","description":"rollout that the channel is on","required":true}],"contextDefinition":{"projectConfig":{}}},"channel:view":{"id":"channel:view","description":"view a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}],"contextDefinition":{"projectConfig":{}}},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"actor":{},"projectConfig":{}}},"device:delete":{"id":"device:delete","description":"remove a registered device from your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","description":"The Apple team ID on which to find the device","multiple":false},"udid":{"name":"udid","type":"option","description":"The Apple device ID to disable","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"device:list":{"id":"device:list","description":"list all registered devices for your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"device:view":{"id":"device:view","description":"view a device for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}],"contextDefinition":{"projectConfig":{}}},"metadata:pull":{"id":"metadata:pull","description":"generate the local store configuration from the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"projectConfig":{},"actor":{}}},"metadata:push":{"id":"metadata:push","description":"sync the local store configuration to the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"projectConfig":{},"actor":{}}},"project:info":{"id":"project:info","description":"information about the current project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectConfig":{}}},"project:init":{"id":"project:init","description":"create or link an EAS project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["init"],"flags":{"id":{"name":"id","type":"option","description":"ID of the EAS project to link","multiple":false},"force":{"name":"force","type":"boolean","description":"Whether to overwrite any existing project ID","allowNo":false,"dependsOn":["id"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false,"dependsOn":["id"]}},"args":[],"contextDefinition":{"actor":{},"projectDir":{}}},"secret:create":{"id":"secret:create","description":"create an environment secret on the current project or owner account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret","multiple":false},"value":{"name":"value","type":"option","description":"Text value or path to a file to store in the secret","multiple":false},"type":{"name":"type","type":"option","description":"The type of secret","helpValue":"(string|file)","multiple":false,"options":["string","file"]},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"secret:delete":{"id":"secret:delete","description":"delete an environment secret by ID","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"secret:list":{"id":"secret:list","description":"list environment secrets available for your current app","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectConfig":{}}},"update:configure":{"id":"update:configure","description":"configure the project to support EAS Update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"}},"args":[],"contextDefinition":{"projectConfig":{}}},"update:delete":{"id":"update:delete","description":"delete all the updates in an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}]},"update":{"id":"update","description":"publish an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Branch to publish the update group on","required":false,"multiple":false},"message":{"name":"message","type":"option","description":"A short message describing the update","required":false,"multiple":false},"republish":{"name":"republish","type":"boolean","description":"Republish an update group","allowNo":false,"exclusive":["input-dir","skip-bundler"]},"group":{"name":"group","type":"option","description":"Update group to republish","multiple":false,"exclusive":["input-dir","skip-bundler"]},"input-dir":{"name":"input-dir","type":"option","description":"Location of the bundle","required":false,"multiple":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"Skip running Expo CLI to bundle the app before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"auto":{"name":"auto","type":"boolean","description":"Use the current git branch and commit message for the EAS branch and update message","allowNo":false},"private-key-path":{"name":"private-key-path","type":"option","description":"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.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicProjectConfigAsync":{}}},"update:list":{"id":"update:list","description":"view the recent updates","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"List updates only on this branch","multiple":false,"exclusive":["all"]},"all":{"name":"all","type":"boolean","description":"List updates on all branches","allowNo":false,"exclusive":["branch"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"update:view":{"id":"update:view","description":"update group details","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}]},"webhook:create":{"id":"webhook:create","description":"create a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{}}},"webhook:delete":{"id":"webhook:delete","description":"delete a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}],"contextDefinition":{"projectConfig":{}}},"webhook:list":{"id":"webhook:list","description":"list webhooks","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]}},"args":[],"contextDefinition":{"projectConfig":{}}},"webhook:update":{"id":"webhook:update","description":"update a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true,"multiple":false},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[]},"webhook:view":{"id":"webhook:view","description":"view a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}]},"build:version:set":{"id":"build:version:set","description":"Update version of an app.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"actor":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}},"build:version:sync":{"id":"build:version:sync","description":"Update a version in native code with a value stored on EAS servers","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"actor":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}}}}
1
+ {"version":"2.4.1","commands":{"analytics":{"id":"analytics","description":"display or change analytics settings","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"STATUS","options":["on","off"]}]},"config":{"id":"config","description":"display project configuration (app.json + eas.json)","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"getDynamicProjectConfigAsync":{},"projectDir":{}}},"credentials":{"id":"credentials","description":"manage credentials","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"diagnostics":{"id":"diagnostics","description":"display environment info","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectDir":{}}},"open":{"id":"open","description":"open the project page in a web browser","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"submit":{"id":"submit","description":"submit app binary to App Store and/or Play Store","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["build:submit"],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false},"latest":{"name":"latest","type":"boolean","description":"Submit the latest build for specified platform","allowNo":false,"exclusive":["id","path","url"]},"id":{"name":"id","type":"option","description":"ID of the build to submit","multiple":false,"exclusive":["latest, path, url"]},"path":{"name":"path","type":"option","description":"Path to the .apk/.aab/.ipa file","multiple":false,"exclusive":["latest","id","url"]},"url":{"name":"url","type":"option","description":"App archive url","multiple":false,"exclusive":["latest","id","path"]},"verbose":{"name":"verbose","type":"boolean","description":"Always print logs from Submission Service","allowNo":false},"wait":{"name":"wait","type":"boolean","description":"Wait for submission to complete","allowNo":true},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run command in non-interactive mode","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{},"projectDir":{}}},"account:login":{"id":"account:login","description":"log in with your Expo account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["login"],"flags":{},"args":[],"contextDefinition":{"sessionManager":{}}},"account:logout":{"id":"account:logout","description":"log out","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["logout"],"flags":{},"args":[],"contextDefinition":{"sessionManager":{}}},"account:view":{"id":"account:view","description":"show the username you are logged in as","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["whoami"],"flags":{},"args":[],"contextDefinition":{"maybeLoggedIn":{}}},"branch:create":{"id":"branch:create","description":"create a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to create","required":false}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"branch:delete":{"id":"branch:delete","description":"delete a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to delete","required":false}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"branch:list":{"id":"branch:list","description":"list all branches","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"branch:publish":{"id":"branch:publish","description":"deprecated, use \"eas update\"","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[]},"branch:rename":{"id":"branch:rename","description":"rename a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"from":{"name":"from","type":"option","description":"current name of the branch.","required":false,"multiple":false},"to":{"name":"to","type":"option","description":"new name of the branch.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"branch:view":{"id":"branch:view","description":"view a branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the branch to view","required":false}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"build:cancel":{"id":"build:cancel","description":"cancel a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"build:configure":{"id":"build:configure","description":"configure the project to support EAS Build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"build":{"id":"build","description":"start a build","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"skip-credentials-check":{"name":"skip-credentials-check","type":"boolean","hidden":true,"allowNo":false},"skip-project-configuration":{"name":"skip-project-configuration","type":"boolean","hidden":true,"allowNo":false},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"local":{"name":"local","type":"boolean","description":"Run build locally [experimental]","allowNo":false},"output":{"name":"output","type":"option","description":"Output path for local build","multiple":false},"wait":{"name":"wait","type":"boolean","description":"Wait for build(s) to complete","allowNo":true},"clear-cache":{"name":"clear-cache","type":"boolean","description":"Clear cache before the build","allowNo":false},"auto-submit":{"name":"auto-submit","type":"boolean","description":"Submit on build complete using the submit profile with the same name as the build profile","allowNo":false,"exclusive":["auto-submit-with-profile"]},"auto-submit-with-profile":{"name":"auto-submit-with-profile","type":"option","description":"Submit on build complete using the submit profile with provided name","helpValue":"PROFILE_NAME","multiple":false,"exclusive":["auto-submit"]},"resource-class":{"name":"resource-class","type":"option","description":"The instance type that will be used to run this build [experimental]","hidden":true,"helpValue":"(default|large|m1-experimental)","multiple":false,"options":["default","large","m1-experimental"]},"message":{"name":"message","type":"option","char":"m","description":"A short message describing the build","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}},"build:inspect":{"id":"build:inspect","description":"inspect the state of the project at specific build stages, useful for troubleshooting","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","required":true,"helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false},"stage":{"name":"stage","type":"option","char":"s","description":"Stage of the build you want to inspect.\n archive - builds the project archive that would be uploaded to EAS when building\n pre-build - prepares the project to be built with Gradle/Xcode. Does not run the native build.\n post-build - builds the native project and leaves the output directory for inspection","required":true,"helpValue":"(archive|pre-build|post-build)","multiple":false,"options":["archive","pre-build","post-build"]},"output":{"name":"output","type":"option","char":"o","description":"Output directory.","required":true,"helpValue":"OUTPUT_DIRECTORY","multiple":false},"force":{"name":"force","type":"boolean","description":"Delete OUTPUT_DIRECTORY if it already exists.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}},"build:list":{"id":"build:list","description":"list all builds for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","helpValue":"(all|android|ios)","multiple":false,"options":["all","android","ios"]},"status":{"name":"status","type":"option","helpValue":"(new|in-queue|in-progress|errored|finished|canceled)","multiple":false,"options":["new","in-queue","in-progress","errored","finished","canceled"]},"distribution":{"name":"distribution","type":"option","helpValue":"(store|internal|simulator)","multiple":false,"options":["store","internal","simulator"]},"channel":{"name":"channel","type":"option","multiple":false},"appVersion":{"name":"appVersion","type":"option","multiple":false},"appBuildVersion":{"name":"appBuildVersion","type":"option","multiple":false},"sdkVersion":{"name":"sdkVersion","type":"option","multiple":false},"runtimeVersion":{"name":"runtimeVersion","type":"option","multiple":false},"appIdentifier":{"name":"appIdentifier","type":"option","multiple":false},"buildProfile":{"name":"buildProfile","type":"option","multiple":false},"gitCommitHash":{"name":"gitCommitHash","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"build:view":{"id":"build:view","description":"view a build for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"BUILD_ID"}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"channel:create":{"id":"channel:create","description":"create a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to create","required":false}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"channel:delete":{"id":"channel:delete","description":"Delete a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to delete","required":false}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"channel:edit":{"id":"channel:edit","description":"point a channel at a new branch","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Name of the branch to point to","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"name","description":"Name of the channel to edit","required":false}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"channel:list":{"id":"channel:list","description":"list all channels","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 10 and is capped at 25.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"channel:rollout":{"id":"channel:rollout","description":"Rollout a new branch out to a channel incrementally.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"branch to rollout","required":false,"multiple":false},"percent":{"name":"percent","type":"option","description":"percent of traffic to redirect to the new branch","required":false,"multiple":false},"end":{"name":"end","type":"boolean","description":"end the rollout","allowNo":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"channel","description":"rollout that the channel is on","required":true}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"channel:view":{"id":"channel:view","description":"view a channel","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false}},"args":[{"name":"name","description":"Name of the channel to view","required":false}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"device:create":{"id":"device:create","description":"register new Apple Devices to use for internal distribution","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"loggedIn":{},"projectConfig":{}}},"device:delete":{"id":"device:delete","description":"remove a registered device from your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","description":"The Apple team ID on which to find the device","multiple":false},"udid":{"name":"udid","type":"option","description":"The Apple device ID to disable","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"device:list":{"id":"device:list","description":"list all registered devices for your account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"apple-team-id":{"name":"apple-team-id","type":"option","multiple":false},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 50 and is capped at 100.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"device:view":{"id":"device:view","description":"view a device for your project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"UDID"}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"metadata:pull":{"id":"metadata:pull","description":"generate the local store configuration from the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"metadata:push":{"id":"metadata:push","description":"sync the local store configuration to the app stores","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"profile":{"name":"profile","type":"option","char":"e","description":"Name of the submit profile from eas.json. Defaults to \"production\" if defined in eas.json.","multiple":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"project:info":{"id":"project:info","description":"information about the current project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"project:init":{"id":"project:init","description":"create or link an EAS project","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":["init"],"flags":{"id":{"name":"id","type":"option","description":"ID of the EAS project to link","multiple":false},"force":{"name":"force","type":"boolean","description":"Whether to overwrite any existing project ID","allowNo":false,"dependsOn":["id"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false,"dependsOn":["id"]}},"args":[],"contextDefinition":{"loggedIn":{},"projectDir":{}}},"secret:create":{"id":"secret:create","description":"create an environment secret on the current project or owner account","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"scope":{"name":"scope","type":"option","description":"Scope for the secret","helpValue":"(account|project)","multiple":false,"options":["account","project"],"default":"project"},"name":{"name":"name","type":"option","description":"Name of the secret","multiple":false},"value":{"name":"value","type":"option","description":"Text value or path to a file to store in the secret","multiple":false},"type":{"name":"type","type":"option","description":"The type of secret","helpValue":"(string|file)","multiple":false,"options":["string","file"]},"force":{"name":"force","type":"boolean","description":"Delete and recreate existing secrets","allowNo":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"secret:delete":{"id":"secret:delete","description":"delete an environment secret by ID","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"ID of the secret to delete","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"secret:list":{"id":"secret:list","description":"list environment secrets available for your current app","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"update:configure":{"id":"update:configure","description":"configure the project to support EAS Update","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","description":"Platform to configure","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"update:delete":{"id":"update:delete","description":"delete all the updates in an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group to delete.","required":true}],"contextDefinition":{"loggedIn":{}}},"update":{"id":"update","description":"publish an update group","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"Branch to publish the update group on","required":false,"multiple":false},"message":{"name":"message","type":"option","description":"A short message describing the update","required":false,"multiple":false},"republish":{"name":"republish","type":"boolean","description":"Republish an update group","allowNo":false,"exclusive":["input-dir","skip-bundler"]},"group":{"name":"group","type":"option","description":"Update group to republish","multiple":false,"exclusive":["input-dir","skip-bundler"]},"input-dir":{"name":"input-dir","type":"option","description":"Location of the bundle","required":false,"multiple":false,"default":"dist"},"skip-bundler":{"name":"skip-bundler","type":"boolean","description":"Skip running Expo CLI to bundle the app before publishing","allowNo":false},"platform":{"name":"platform","type":"option","char":"p","required":false,"helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"],"default":"all"},"auto":{"name":"auto","type":"boolean","description":"Use the current git branch and commit message for the EAS branch and update message","allowNo":false},"private-key-path":{"name":"private-key-path","type":"option","description":"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.","required":false,"multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"getDynamicProjectConfigAsync":{},"loggedIn":{}}},"update:list":{"id":"update:list","description":"view the recent updates","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"branch":{"name":"branch","type":"option","description":"List updates only on this branch","multiple":false,"exclusive":["all"]},"all":{"name":"all","type":"boolean","description":"List updates on all branches","allowNo":false,"exclusive":["branch"]},"offset":{"name":"offset","type":"option","description":"Start queries from specified index. Use for paginating results. Defaults to 0.","multiple":false},"limit":{"name":"limit","type":"option","description":"The number of items to fetch each query. Defaults to 25 and is capped at 50.","multiple":false},"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false,"dependsOn":["non-interactive"]},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"update:view":{"id":"update:view","description":"update group details","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Enable JSON output, non-JSON messages will be printed to stderr.","allowNo":false}},"args":[{"name":"groupId","description":"The ID of an update group.","required":true}],"contextDefinition":{"loggedIn":{}}},"webhook:create":{"id":"webhook:create","description":"create a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"webhook:delete":{"id":"webhook:delete","description":"delete a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[{"name":"ID","description":"ID of the webhook to delete","required":false}],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"webhook:list":{"id":"webhook:list","description":"list webhooks","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]}},"args":[],"contextDefinition":{"projectConfig":{},"loggedIn":{}}},"webhook:update":{"id":"webhook:update","description":"update a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"id":{"name":"id","type":"option","description":"Webhook ID","required":true,"multiple":false},"event":{"name":"event","type":"option","description":"Event type that triggers the webhook","helpValue":"(BUILD|SUBMIT)","multiple":false,"options":["BUILD","SUBMIT"]},"url":{"name":"url","type":"option","description":"Webhook URL","multiple":false},"secret":{"name":"secret","type":"option","description":"Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header.","multiple":false},"non-interactive":{"name":"non-interactive","type":"boolean","description":"Run the command in non-interactive mode.","allowNo":false}},"args":[],"contextDefinition":{"loggedIn":{}}},"webhook:view":{"id":"webhook:view","description":"view a webhook","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"ID","description":"ID of the webhook to view","required":true}],"contextDefinition":{"loggedIn":{}}},"build:version:set":{"id":"build:version:set","description":"Update version of an app.","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios)","multiple":false,"options":["android","ios"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}},"build:version:sync":{"id":"build:version:sync","description":"Update a version in native code with a value stored on EAS servers","strict":true,"pluginName":"eas-cli","pluginAlias":"eas-cli","pluginType":"core","aliases":[],"flags":{"platform":{"name":"platform","type":"option","char":"p","helpValue":"(android|ios|all)","multiple":false,"options":["android","ios","all"]},"profile":{"name":"profile","type":"option","char":"e","description":"Name of the build profile from eas.json. Defaults to \"production\" if defined in eas.json.","helpValue":"PROFILE_NAME","multiple":false}},"args":[],"contextDefinition":{"loggedIn":{},"getDynamicProjectConfigAsync":{},"projectDir":{}}}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eas-cli",
3
3
  "description": "EAS command line tool",
4
- "version": "2.3.0",
4
+ "version": "2.4.1",
5
5
  "author": "Expo <support@expo.dev>",
6
6
  "bin": {
7
7
  "eas": "./bin/run"
@@ -209,5 +209,5 @@
209
209
  "node": "18.6.0",
210
210
  "yarn": "1.22.19"
211
211
  },
212
- "gitHead": "52a4e9b78d72fd1a6c05f061fa1e4eedaf3a4d52"
212
+ "gitHead": "9201af566d553ae7913809bc6a40dfee3cbba639"
213
213
  }
@@ -1,5 +0,0 @@
1
- import { Actor } from '../../user/User';
2
- import ContextField, { ContextOptions } from './ContextField';
3
- export default class ActorContextField extends ContextField<Actor> {
4
- getValueAsync({ nonInteractive }: ContextOptions): Promise<Actor>;
5
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const ContextField_1 = tslib_1.__importDefault(require("./ContextField"));
5
- const ensureLoggedInAsync_1 = require("./contextUtils/ensureLoggedInAsync");
6
- class ActorContextField extends ContextField_1.default {
7
- async getValueAsync({ nonInteractive }) {
8
- return await (0, ensureLoggedInAsync_1.ensureLoggedInAsync)({ nonInteractive });
9
- }
10
- }
11
- exports.default = ActorContextField;
@@ -1,21 +0,0 @@
1
- import { Actor } from '../../../user/User';
2
- /**
3
- * Ensure that there is a logged-in actor. Show a login prompt if not.
4
- *
5
- * @param nonInteractive whether the log-in prompt if logged-out should be interactive
6
- * @returns logged-in Actor
7
- *
8
- * @deprecated Should not be used outside of context functions.
9
- */
10
- export declare function ensureLoggedInAsync({ nonInteractive, }: {
11
- nonInteractive: boolean;
12
- }): Promise<Actor>;
13
- /**
14
- * Prompt the user to log in.
15
- *
16
- * @deprecated Should not be used outside of context functions, except in the AccountLogin command.
17
- */
18
- export declare function showLoginPromptAsync({ nonInteractive, printNewLine, }?: {
19
- nonInteractive?: boolean | undefined;
20
- printNewLine?: boolean | undefined;
21
- }): Promise<void>;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.showLoginPromptAsync = exports.ensureLoggedInAsync = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@oclif/core");
6
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
- const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
8
- const api_1 = require("../../../api");
9
- const log_1 = tslib_1.__importStar(require("../../../log"));
10
- const prompts_1 = require("../../../prompts");
11
- const User_1 = require("../../../user/User");
12
- const otp_1 = require("../../../user/otp");
13
- /**
14
- * Ensure that there is a logged-in actor. Show a login prompt if not.
15
- *
16
- * @param nonInteractive whether the log-in prompt if logged-out should be interactive
17
- * @returns logged-in Actor
18
- *
19
- * @deprecated Should not be used outside of context functions.
20
- */
21
- async function ensureLoggedInAsync({ nonInteractive, }) {
22
- let user;
23
- try {
24
- user = await (0, User_1.getUserAsync)();
25
- }
26
- catch { }
27
- if (!user) {
28
- log_1.default.warn('An Expo user account is required to proceed.');
29
- await showLoginPromptAsync({ nonInteractive, printNewLine: true });
30
- user = await (0, User_1.getUserAsync)();
31
- }
32
- return (0, nullthrows_1.default)(user);
33
- }
34
- exports.ensureLoggedInAsync = ensureLoggedInAsync;
35
- /**
36
- * Prompt the user to log in.
37
- *
38
- * @deprecated Should not be used outside of context functions, except in the AccountLogin command.
39
- */
40
- async function showLoginPromptAsync({ nonInteractive = false, printNewLine = false, } = {}) {
41
- if (nonInteractive) {
42
- core_1.Errors.error(`Either log in with ${chalk_1.default.bold('eas login')} or set the ${chalk_1.default.bold('EXPO_TOKEN')} environment variable if you're using EAS CLI on CI (${(0, log_1.learnMore)('https://docs.expo.dev/accounts/programmatic-access/', { dim: false })})`);
43
- }
44
- if (printNewLine) {
45
- log_1.default.newLine();
46
- }
47
- log_1.default.log('Log in to EAS');
48
- const { username, password } = await (0, prompts_1.promptAsync)([
49
- {
50
- type: 'text',
51
- name: 'username',
52
- message: 'Email or username',
53
- },
54
- {
55
- type: 'password',
56
- name: 'password',
57
- message: 'Password',
58
- },
59
- ]);
60
- try {
61
- await (0, User_1.loginAsync)({
62
- username,
63
- password,
64
- });
65
- }
66
- catch (e) {
67
- if (e instanceof api_1.ApiV2Error && e.expoApiV2ErrorCode === 'ONE_TIME_PASSWORD_REQUIRED') {
68
- await (0, otp_1.retryUsernamePasswordAuthWithOTPAsync)(username, password, e.expoApiV2ErrorMetadata);
69
- }
70
- else {
71
- throw e;
72
- }
73
- }
74
- }
75
- exports.showLoginPromptAsync = showLoginPromptAsync;
@@ -1,29 +0,0 @@
1
- export declare enum UserSecondFactorDeviceMethod {
2
- AUTHENTICATOR = "authenticator",
3
- SMS = "sms"
4
- }
5
- export declare type SecondFactorDevice = {
6
- id: string;
7
- method: UserSecondFactorDeviceMethod;
8
- sms_phone_number: string | null;
9
- is_primary: boolean;
10
- };
11
- /**
12
- * Handle the special case error indicating that a second-factor is required for
13
- * authentication.
14
- *
15
- * There are three cases we need to handle:
16
- * 1. User's primary second-factor device was SMS, OTP was automatically sent by the server to that
17
- * device already. In this case we should just prompt for the SMS OTP (or backup code), which the
18
- * user should be receiving shortly. We should give the user a way to cancel and the prompt and move
19
- * to case 3 below.
20
- * 2. User's primary second-factor device is authenticator. In this case we should prompt for authenticator
21
- * OTP (or backup code) and also give the user a way to cancel and move to case 3 below.
22
- * 3. User doesn't have a primary device or doesn't have access to their primary device. In this case
23
- * we should show a picker of the SMS devices that they can have an OTP code sent to, and when
24
- * the user picks one we show a prompt() for the sent OTP.
25
- */
26
- export declare function retryUsernamePasswordAuthWithOTPAsync(username: string, password: string, metadata: {
27
- secondFactorDevices?: SecondFactorDevice[];
28
- smsAutomaticallySent?: boolean;
29
- }): Promise<void>;
package/build/user/otp.js DELETED
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.retryUsernamePasswordAuthWithOTPAsync = exports.UserSecondFactorDeviceMethod = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = tslib_1.__importDefault(require("assert"));
6
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
- const api_1 = require("../api");
8
- const log_1 = tslib_1.__importDefault(require("../log"));
9
- const prompts_1 = require("../prompts");
10
- const User_1 = require("./User");
11
- var UserSecondFactorDeviceMethod;
12
- (function (UserSecondFactorDeviceMethod) {
13
- UserSecondFactorDeviceMethod["AUTHENTICATOR"] = "authenticator";
14
- UserSecondFactorDeviceMethod["SMS"] = "sms";
15
- })(UserSecondFactorDeviceMethod = exports.UserSecondFactorDeviceMethod || (exports.UserSecondFactorDeviceMethod = {}));
16
- /**
17
- * Prompt for an OTP with the option to cancel the question by answering empty (pressing return key).
18
- */
19
- async function promptForOTPAsync(cancelBehavior) {
20
- const enterMessage = cancelBehavior === 'cancel'
21
- ? `press ${chalk_1.default.bold('Enter')} to cancel`
22
- : `press ${chalk_1.default.bold('Enter')} for more options`;
23
- const { otp } = await (0, prompts_1.promptAsync)({
24
- type: 'text',
25
- name: 'otp',
26
- message: `One-time password or backup code (${enterMessage}):`,
27
- });
28
- if (!otp) {
29
- return null;
30
- }
31
- return otp;
32
- }
33
- /**
34
- * Prompt for user to choose a backup OTP method. If selected method is SMS, a request
35
- * for a new OTP will be sent to that method. Then, prompt for the OTP, and retry the user login.
36
- */
37
- async function promptForBackupOTPAsync(username, password, secondFactorDevices) {
38
- const nonPrimarySecondFactorDevices = secondFactorDevices.filter(device => !device.is_primary);
39
- if (nonPrimarySecondFactorDevices.length === 0) {
40
- throw new Error('No other second-factor devices set up. Ensure you have set up and certified a backup device.');
41
- }
42
- const hasAuthenticatorSecondFactorDevice = nonPrimarySecondFactorDevices.find(device => device.method === UserSecondFactorDeviceMethod.AUTHENTICATOR);
43
- const smsNonPrimarySecondFactorDevices = nonPrimarySecondFactorDevices.filter(device => device.method === UserSecondFactorDeviceMethod.SMS);
44
- const authenticatorChoiceSentinel = -1;
45
- const cancelChoiceSentinel = -2;
46
- const deviceChoices = smsNonPrimarySecondFactorDevices.map((device, idx) => ({
47
- title: device.sms_phone_number,
48
- value: idx,
49
- }));
50
- if (hasAuthenticatorSecondFactorDevice) {
51
- deviceChoices.push({
52
- title: 'Authenticator',
53
- value: authenticatorChoiceSentinel,
54
- });
55
- }
56
- deviceChoices.push({
57
- title: 'Cancel',
58
- value: cancelChoiceSentinel,
59
- });
60
- const selectedValue = await (0, prompts_1.selectAsync)('Select a second-factor device:', deviceChoices);
61
- if (selectedValue === cancelChoiceSentinel) {
62
- return null;
63
- }
64
- else if (selectedValue === authenticatorChoiceSentinel) {
65
- return await promptForOTPAsync('cancel');
66
- }
67
- const device = smsNonPrimarySecondFactorDevices[selectedValue];
68
- await api_1.api.postAsync('auth/send-sms-otp', {
69
- body: {
70
- username,
71
- password,
72
- secondFactorDeviceID: device.id,
73
- },
74
- });
75
- return await promptForOTPAsync('cancel');
76
- }
77
- /**
78
- * Handle the special case error indicating that a second-factor is required for
79
- * authentication.
80
- *
81
- * There are three cases we need to handle:
82
- * 1. User's primary second-factor device was SMS, OTP was automatically sent by the server to that
83
- * device already. In this case we should just prompt for the SMS OTP (or backup code), which the
84
- * user should be receiving shortly. We should give the user a way to cancel and the prompt and move
85
- * to case 3 below.
86
- * 2. User's primary second-factor device is authenticator. In this case we should prompt for authenticator
87
- * OTP (or backup code) and also give the user a way to cancel and move to case 3 below.
88
- * 3. User doesn't have a primary device or doesn't have access to their primary device. In this case
89
- * we should show a picker of the SMS devices that they can have an OTP code sent to, and when
90
- * the user picks one we show a prompt() for the sent OTP.
91
- */
92
- async function retryUsernamePasswordAuthWithOTPAsync(username, password, metadata) {
93
- const { secondFactorDevices, smsAutomaticallySent } = metadata;
94
- (0, assert_1.default)(secondFactorDevices !== undefined && smsAutomaticallySent !== undefined, `Malformed OTP error metadata: ${metadata}`);
95
- const primaryDevice = secondFactorDevices.find(device => device.is_primary);
96
- let otp = null;
97
- if (smsAutomaticallySent) {
98
- (0, assert_1.default)(primaryDevice, 'OTP should only automatically be sent when there is a primary device');
99
- log_1.default.log(`One-time password was sent to the phone number ending in ${primaryDevice.sms_phone_number}.`);
100
- otp = await promptForOTPAsync('menu');
101
- }
102
- if ((primaryDevice === null || primaryDevice === void 0 ? void 0 : primaryDevice.method) === UserSecondFactorDeviceMethod.AUTHENTICATOR) {
103
- log_1.default.log('One-time password from authenticator required.');
104
- otp = await promptForOTPAsync('menu');
105
- }
106
- // user bailed on case 1 or 2, wants to move to case 3
107
- if (!otp) {
108
- otp = await promptForBackupOTPAsync(username, password, secondFactorDevices);
109
- }
110
- if (!otp) {
111
- throw new Error('Cancelled login');
112
- }
113
- await (0, User_1.loginAsync)({
114
- username,
115
- password,
116
- otp,
117
- });
118
- }
119
- exports.retryUsernamePasswordAuthWithOTPAsync = retryUsernamePasswordAuthWithOTPAsync;
@@ -1,11 +0,0 @@
1
- declare type SessionData = {
2
- sessionSecret: string;
3
- userId: string;
4
- username: string;
5
- currentConnection: 'Username-Password-Authentication';
6
- };
7
- export declare function getSession(): SessionData | null;
8
- export declare function setSessionAsync(sessionData?: SessionData): Promise<void>;
9
- export declare function getAccessToken(): string | null;
10
- export declare function getSessionSecret(): string | null;
11
- export {};
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSessionSecret = exports.getAccessToken = exports.setSessionAsync = exports.getSession = void 0;
4
- const tslib_1 = require("tslib");
5
- const json_file_1 = tslib_1.__importDefault(require("@expo/json-file"));
6
- const paths_1 = require("../utils/paths");
7
- function getSession() {
8
- var _a, _b;
9
- try {
10
- return (_b = (_a = json_file_1.default.read((0, paths_1.getStateJsonPath)())) === null || _a === void 0 ? void 0 : _a.auth) !== null && _b !== void 0 ? _b : null;
11
- }
12
- catch (error) {
13
- if (error.code === 'ENOENT') {
14
- return null;
15
- }
16
- throw error;
17
- }
18
- }
19
- exports.getSession = getSession;
20
- async function setSessionAsync(sessionData) {
21
- await json_file_1.default.setAsync((0, paths_1.getStateJsonPath)(), 'auth', sessionData, {
22
- default: {},
23
- ensureDir: true,
24
- });
25
- }
26
- exports.setSessionAsync = setSessionAsync;
27
- function getAccessToken() {
28
- var _a;
29
- return (_a = process.env.EXPO_TOKEN) !== null && _a !== void 0 ? _a : null;
30
- }
31
- exports.getAccessToken = getAccessToken;
32
- function getSessionSecret() {
33
- var _a, _b;
34
- return (_b = (_a = getSession()) === null || _a === void 0 ? void 0 : _a.sessionSecret) !== null && _b !== void 0 ? _b : null;
35
- }
36
- exports.getSessionSecret = getSessionSecret;