@ankhorage/deploy 0.4.0 → 0.5.0

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 (210) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/domain/AndroidDeploymentIntent.d.ts +10 -0
  4. package/dist/domain/AndroidDeploymentIntent.d.ts.map +1 -0
  5. package/dist/domain/AndroidDeploymentIntent.js +3 -0
  6. package/dist/domain/AndroidDeploymentIntent.js.map +1 -0
  7. package/dist/domain/AndroidDeploymentPublication.d.ts +12 -0
  8. package/dist/domain/AndroidDeploymentPublication.d.ts.map +1 -0
  9. package/dist/domain/AndroidDeploymentPublication.js +2 -0
  10. package/dist/domain/AndroidDeploymentPublication.js.map +1 -0
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/project/android/ProjectAndroidDeploymentAccess.d.ts +7 -0
  15. package/dist/project/android/ProjectAndroidDeploymentAccess.d.ts.map +1 -0
  16. package/dist/project/android/ProjectAndroidDeploymentAccess.js +2 -0
  17. package/dist/project/android/ProjectAndroidDeploymentAccess.js.map +1 -0
  18. package/dist/project/android/ProjectAndroidDeploymentExecution.d.ts +12 -0
  19. package/dist/project/android/ProjectAndroidDeploymentExecution.d.ts.map +1 -0
  20. package/dist/project/android/ProjectAndroidDeploymentExecution.js +2 -0
  21. package/dist/project/android/ProjectAndroidDeploymentExecution.js.map +1 -0
  22. package/dist/project/android/ProjectAndroidDeploymentInspection.d.ts +21 -0
  23. package/dist/project/android/ProjectAndroidDeploymentInspection.d.ts.map +1 -0
  24. package/dist/project/android/ProjectAndroidDeploymentInspection.js +2 -0
  25. package/dist/project/android/ProjectAndroidDeploymentInspection.js.map +1 -0
  26. package/dist/project/android/ProjectAndroidDeploymentRuntime.d.ts +13 -0
  27. package/dist/project/android/ProjectAndroidDeploymentRuntime.d.ts.map +1 -0
  28. package/dist/project/android/ProjectAndroidDeploymentRuntime.js +12 -0
  29. package/dist/project/android/ProjectAndroidDeploymentRuntime.js.map +1 -0
  30. package/dist/project/android/ProjectAndroidExecutionState.d.ts +10 -0
  31. package/dist/project/android/ProjectAndroidExecutionState.d.ts.map +1 -0
  32. package/dist/project/android/ProjectAndroidExecutionState.js +2 -0
  33. package/dist/project/android/ProjectAndroidExecutionState.js.map +1 -0
  34. package/dist/project/android/createProjectAndroidDeploymentPlan.d.ts +4 -0
  35. package/dist/project/android/createProjectAndroidDeploymentPlan.d.ts.map +1 -0
  36. package/dist/project/android/createProjectAndroidDeploymentPlan.js +13 -0
  37. package/dist/project/android/createProjectAndroidDeploymentPlan.js.map +1 -0
  38. package/dist/project/android/executeProjectAndroidDeployment.d.ts +12 -0
  39. package/dist/project/android/executeProjectAndroidDeployment.d.ts.map +1 -0
  40. package/dist/project/android/executeProjectAndroidDeployment.js +164 -0
  41. package/dist/project/android/executeProjectAndroidDeployment.js.map +1 -0
  42. package/dist/project/android/executeProjectAndroidStep.d.ts +15 -0
  43. package/dist/project/android/executeProjectAndroidStep.d.ts.map +1 -0
  44. package/dist/project/android/executeProjectAndroidStep.js +124 -0
  45. package/dist/project/android/executeProjectAndroidStep.js.map +1 -0
  46. package/dist/project/android/inspectProjectAndroidDeployment.d.ts +11 -0
  47. package/dist/project/android/inspectProjectAndroidDeployment.d.ts.map +1 -0
  48. package/dist/project/android/inspectProjectAndroidDeployment.js +90 -0
  49. package/dist/project/android/inspectProjectAndroidDeployment.js.map +1 -0
  50. package/dist/project/android/inspectProjectAndroidEasSetup.d.ts +5 -0
  51. package/dist/project/android/inspectProjectAndroidEasSetup.d.ts.map +1 -0
  52. package/dist/project/android/inspectProjectAndroidEasSetup.js +18 -0
  53. package/dist/project/android/inspectProjectAndroidEasSetup.js.map +1 -0
  54. package/dist/project/android/inspectProjectAndroidGooglePlay.d.ts +16 -0
  55. package/dist/project/android/inspectProjectAndroidGooglePlay.d.ts.map +1 -0
  56. package/dist/project/android/inspectProjectAndroidGooglePlay.js +52 -0
  57. package/dist/project/android/inspectProjectAndroidGooglePlay.js.map +1 -0
  58. package/dist/project/android/normalizeProjectAndroidDesired.d.ts +13 -0
  59. package/dist/project/android/normalizeProjectAndroidDesired.d.ts.map +1 -0
  60. package/dist/project/android/normalizeProjectAndroidDesired.js +25 -0
  61. package/dist/project/android/normalizeProjectAndroidDesired.js.map +1 -0
  62. package/dist/project/android/readCurrentProjectAndroidDeployment.d.ts +8 -0
  63. package/dist/project/android/readCurrentProjectAndroidDeployment.d.ts.map +1 -0
  64. package/dist/project/android/readCurrentProjectAndroidDeployment.js +44 -0
  65. package/dist/project/android/readCurrentProjectAndroidDeployment.js.map +1 -0
  66. package/dist/project/android/recordProjectAndroidDeployment.d.ts +21 -0
  67. package/dist/project/android/recordProjectAndroidDeployment.d.ts.map +1 -0
  68. package/dist/project/android/recordProjectAndroidDeployment.js +36 -0
  69. package/dist/project/android/recordProjectAndroidDeployment.js.map +1 -0
  70. package/dist/project/android/resolveProjectAndroidDeploymentAccess.d.ts +9 -0
  71. package/dist/project/android/resolveProjectAndroidDeploymentAccess.d.ts.map +1 -0
  72. package/dist/project/android/resolveProjectAndroidDeploymentAccess.js +7 -0
  73. package/dist/project/android/resolveProjectAndroidDeploymentAccess.js.map +1 -0
  74. package/dist/project/android/scopeProjectAndroidDeploymentAccess.d.ts +3 -0
  75. package/dist/project/android/scopeProjectAndroidDeploymentAccess.d.ts.map +1 -0
  76. package/dist/project/android/scopeProjectAndroidDeploymentAccess.js +7 -0
  77. package/dist/project/android/scopeProjectAndroidDeploymentAccess.js.map +1 -0
  78. package/dist/project/areDeploymentPlansEqual.d.ts +3 -0
  79. package/dist/project/areDeploymentPlansEqual.d.ts.map +1 -0
  80. package/dist/project/areDeploymentPlansEqual.js +4 -0
  81. package/dist/project/areDeploymentPlansEqual.js.map +1 -0
  82. package/dist/project/index.d.ts +6 -0
  83. package/dist/project/index.d.ts.map +1 -1
  84. package/dist/project/index.js +3 -0
  85. package/dist/project/index.js.map +1 -1
  86. package/dist/project/setupBlockingOutcome.d.ts +14 -0
  87. package/dist/project/setupBlockingOutcome.d.ts.map +1 -0
  88. package/dist/project/setupBlockingOutcome.js +38 -0
  89. package/dist/project/setupBlockingOutcome.js.map +1 -0
  90. package/dist/project/web/areDeploymentPlansEqual.d.ts +1 -2
  91. package/dist/project/web/areDeploymentPlansEqual.d.ts.map +1 -1
  92. package/dist/project/web/areDeploymentPlansEqual.js +1 -3
  93. package/dist/project/web/areDeploymentPlansEqual.js.map +1 -1
  94. package/dist/project/web/inspectProjectWebSetup.d.ts.map +1 -1
  95. package/dist/project/web/inspectProjectWebSetup.js +7 -2
  96. package/dist/project/web/inspectProjectWebSetup.js.map +1 -1
  97. package/dist/project/web/setupBlockingOutcome.d.ts.map +1 -1
  98. package/dist/project/web/setupBlockingOutcome.js +9 -31
  99. package/dist/project/web/setupBlockingOutcome.js.map +1 -1
  100. package/dist/providers/eas/android/EasAndroidBuildArtifact.d.ts +8 -0
  101. package/dist/providers/eas/android/EasAndroidBuildArtifact.d.ts.map +1 -0
  102. package/dist/providers/eas/android/EasAndroidBuildArtifact.js +2 -0
  103. package/dist/providers/eas/android/EasAndroidBuildArtifact.js.map +1 -0
  104. package/dist/providers/eas/android/buildAndroidWithEas.d.ts +25 -0
  105. package/dist/providers/eas/android/buildAndroidWithEas.d.ts.map +1 -0
  106. package/dist/providers/eas/android/buildAndroidWithEas.js +58 -0
  107. package/dist/providers/eas/android/buildAndroidWithEas.js.map +1 -0
  108. package/dist/providers/eas/android/generateLocalAndroidFingerprint.d.ts +15 -0
  109. package/dist/providers/eas/android/generateLocalAndroidFingerprint.d.ts.map +1 -0
  110. package/dist/providers/eas/android/generateLocalAndroidFingerprint.js +51 -0
  111. package/dist/providers/eas/android/generateLocalAndroidFingerprint.js.map +1 -0
  112. package/dist/providers/eas/android/inspectEasAndroidConfig.d.ts +28 -0
  113. package/dist/providers/eas/android/inspectEasAndroidConfig.d.ts.map +1 -0
  114. package/dist/providers/eas/android/inspectEasAndroidConfig.js +40 -0
  115. package/dist/providers/eas/android/inspectEasAndroidConfig.js.map +1 -0
  116. package/dist/providers/eas/android/parseEasAndroidBuild.d.ts +3 -0
  117. package/dist/providers/eas/android/parseEasAndroidBuild.d.ts.map +1 -0
  118. package/dist/providers/eas/android/parseEasAndroidBuild.js +45 -0
  119. package/dist/providers/eas/android/parseEasAndroidBuild.js.map +1 -0
  120. package/dist/providers/eas/android/parseEasAndroidConfig.d.ts +3 -0
  121. package/dist/providers/eas/android/parseEasAndroidConfig.d.ts.map +1 -0
  122. package/dist/providers/eas/android/parseEasAndroidConfig.js +59 -0
  123. package/dist/providers/eas/android/parseEasAndroidConfig.js.map +1 -0
  124. package/dist/providers/eas/createEasSetupAdapter.d.ts +13 -0
  125. package/dist/providers/eas/createEasSetupAdapter.d.ts.map +1 -0
  126. package/dist/providers/eas/createEasSetupAdapter.js +72 -0
  127. package/dist/providers/eas/createEasSetupAdapter.js.map +1 -0
  128. package/dist/providers/eas/publishWebToEas.js +1 -1
  129. package/dist/providers/eas/publishWebToEas.js.map +1 -1
  130. package/dist/providers/eas/resolveEasProcessEnvironment.d.ts +2 -0
  131. package/dist/providers/eas/resolveEasProcessEnvironment.d.ts.map +1 -1
  132. package/dist/providers/eas/resolveEasProcessEnvironment.js +15 -14
  133. package/dist/providers/eas/resolveEasProcessEnvironment.js.map +1 -1
  134. package/dist/providers/googlePlay/GooglePlayTokenFactory.d.ts +7 -0
  135. package/dist/providers/googlePlay/GooglePlayTokenFactory.d.ts.map +1 -0
  136. package/dist/providers/googlePlay/GooglePlayTokenFactory.js +14 -0
  137. package/dist/providers/googlePlay/GooglePlayTokenFactory.js.map +1 -0
  138. package/dist/providers/googlePlay/GooglePlayTrackState.d.ts +12 -0
  139. package/dist/providers/googlePlay/GooglePlayTrackState.d.ts.map +1 -0
  140. package/dist/providers/googlePlay/GooglePlayTrackState.js +35 -0
  141. package/dist/providers/googlePlay/GooglePlayTrackState.js.map +1 -0
  142. package/dist/providers/googlePlay/GooglePlayTransport.d.ts +15 -0
  143. package/dist/providers/googlePlay/GooglePlayTransport.d.ts.map +1 -0
  144. package/dist/providers/googlePlay/GooglePlayTransport.js +12 -0
  145. package/dist/providers/googlePlay/GooglePlayTransport.js.map +1 -0
  146. package/dist/providers/googlePlay/commitGooglePlayEdit.d.ts +8 -0
  147. package/dist/providers/googlePlay/commitGooglePlayEdit.d.ts.map +1 -0
  148. package/dist/providers/googlePlay/commitGooglePlayEdit.js +17 -0
  149. package/dist/providers/googlePlay/commitGooglePlayEdit.js.map +1 -0
  150. package/dist/providers/googlePlay/createGooglePlaySetupAdapter.d.ts +6 -0
  151. package/dist/providers/googlePlay/createGooglePlaySetupAdapter.d.ts.map +1 -0
  152. package/dist/providers/googlePlay/createGooglePlaySetupAdapter.js +32 -0
  153. package/dist/providers/googlePlay/createGooglePlaySetupAdapter.js.map +1 -0
  154. package/dist/providers/googlePlay/downloadAndroidArchive.d.ts +9 -0
  155. package/dist/providers/googlePlay/downloadAndroidArchive.d.ts.map +1 -0
  156. package/dist/providers/googlePlay/downloadAndroidArchive.js +28 -0
  157. package/dist/providers/googlePlay/downloadAndroidArchive.js.map +1 -0
  158. package/dist/providers/googlePlay/googlePlayUrls.d.ts +6 -0
  159. package/dist/providers/googlePlay/googlePlayUrls.d.ts.map +1 -0
  160. package/dist/providers/googlePlay/googlePlayUrls.js +18 -0
  161. package/dist/providers/googlePlay/googlePlayUrls.js.map +1 -0
  162. package/dist/providers/googlePlay/insertGooglePlayEdit.d.ts +7 -0
  163. package/dist/providers/googlePlay/insertGooglePlayEdit.d.ts.map +1 -0
  164. package/dist/providers/googlePlay/insertGooglePlayEdit.js +32 -0
  165. package/dist/providers/googlePlay/insertGooglePlayEdit.js.map +1 -0
  166. package/dist/providers/googlePlay/inspectGooglePlayTrack.d.ts +27 -0
  167. package/dist/providers/googlePlay/inspectGooglePlayTrack.d.ts.map +1 -0
  168. package/dist/providers/googlePlay/inspectGooglePlayTrack.js +80 -0
  169. package/dist/providers/googlePlay/inspectGooglePlayTrack.js.map +1 -0
  170. package/dist/providers/googlePlay/publishAndroidToGooglePlay.d.ts +32 -0
  171. package/dist/providers/googlePlay/publishAndroidToGooglePlay.d.ts.map +1 -0
  172. package/dist/providers/googlePlay/publishAndroidToGooglePlay.js +74 -0
  173. package/dist/providers/googlePlay/publishAndroidToGooglePlay.js.map +1 -0
  174. package/dist/providers/googlePlay/resolveGooglePlayAccessToken.d.ts +17 -0
  175. package/dist/providers/googlePlay/resolveGooglePlayAccessToken.d.ts.map +1 -0
  176. package/dist/providers/googlePlay/resolveGooglePlayAccessToken.js +62 -0
  177. package/dist/providers/googlePlay/resolveGooglePlayAccessToken.js.map +1 -0
  178. package/dist/providers/googlePlay/updateGooglePlayTrack.d.ts +12 -0
  179. package/dist/providers/googlePlay/updateGooglePlayTrack.d.ts.map +1 -0
  180. package/dist/providers/googlePlay/updateGooglePlayTrack.js +26 -0
  181. package/dist/providers/googlePlay/updateGooglePlayTrack.js.map +1 -0
  182. package/dist/providers/googlePlay/uploadGooglePlayBundle.d.ts +9 -0
  183. package/dist/providers/googlePlay/uploadGooglePlayBundle.d.ts.map +1 -0
  184. package/dist/providers/googlePlay/uploadGooglePlayBundle.js +34 -0
  185. package/dist/providers/googlePlay/uploadGooglePlayBundle.js.map +1 -0
  186. package/dist/providers/googlePlay/verifyGooglePlayPublication.d.ts +23 -0
  187. package/dist/providers/googlePlay/verifyGooglePlayPublication.d.ts.map +1 -0
  188. package/dist/providers/googlePlay/verifyGooglePlayPublication.js +31 -0
  189. package/dist/providers/googlePlay/verifyGooglePlayPublication.js.map +1 -0
  190. package/dist/targets/android/createAndroidDeploymentRevision.d.ts +3 -0
  191. package/dist/targets/android/createAndroidDeploymentRevision.d.ts.map +1 -0
  192. package/dist/targets/android/createAndroidDeploymentRevision.js +11 -0
  193. package/dist/targets/android/createAndroidDeploymentRevision.js.map +1 -0
  194. package/dist/targets/android/createAndroidTargetPlanContributor.d.ts +3 -0
  195. package/dist/targets/android/createAndroidTargetPlanContributor.d.ts.map +1 -0
  196. package/dist/targets/android/createAndroidTargetPlanContributor.js +26 -0
  197. package/dist/targets/android/createAndroidTargetPlanContributor.js.map +1 -0
  198. package/dist/targets/android/isAndroidDeploymentIntentValid.d.ts +3 -0
  199. package/dist/targets/android/isAndroidDeploymentIntentValid.d.ts.map +1 -0
  200. package/dist/targets/android/isAndroidDeploymentIntentValid.js +7 -0
  201. package/dist/targets/android/isAndroidDeploymentIntentValid.js.map +1 -0
  202. package/dist/targets/android/normalizeAndroidProviders.d.ts +16 -0
  203. package/dist/targets/android/normalizeAndroidProviders.d.ts.map +1 -0
  204. package/dist/targets/android/normalizeAndroidProviders.js +16 -0
  205. package/dist/targets/android/normalizeAndroidProviders.js.map +1 -0
  206. package/package.json +3 -2
  207. package/dist/providers/eas/createEasHostingSetupAdapter.d.ts +0 -7
  208. package/dist/providers/eas/createEasHostingSetupAdapter.d.ts.map +0 -1
  209. package/dist/providers/eas/createEasHostingSetupAdapter.js +0 -76
  210. package/dist/providers/eas/createEasHostingSetupAdapter.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ import type { AndroidDeploymentPublication } from '../../domain/AndroidDeploymentPublication';
2
+ import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';
3
+ import type { DeploymentRequiredAction } from '../../domain/DeploymentRequiredAction';
4
+ import type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';
5
+ import type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';
6
+ import type { GooglePlayTokenFactory } from './GooglePlayTokenFactory';
7
+ import type { GooglePlayTransport } from './GooglePlayTransport';
8
+ export type GooglePlayVerificationResult = {
9
+ readonly status: 'completed';
10
+ readonly verification: DeploymentVerificationResult;
11
+ } | {
12
+ readonly status: 'action-required';
13
+ readonly action: DeploymentRequiredAction;
14
+ };
15
+ export declare function verifyGooglePlayPublication(options: {
16
+ readonly packageName: string;
17
+ readonly publication: AndroidDeploymentPublication;
18
+ readonly credentials: readonly DeploymentCredentialReference[];
19
+ readonly resolveSecret: DeploymentSecretResolver;
20
+ readonly createToken: GooglePlayTokenFactory;
21
+ readonly request: GooglePlayTransport;
22
+ }): Promise<GooglePlayVerificationResult>;
23
+ //# sourceMappingURL=verifyGooglePlayPublication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyGooglePlayPublication.d.ts","sourceRoot":"","sources":["../../../src/providers/googlePlay/verifyGooglePlayPublication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAEtF,wBAAsB,2BAA2B,CAAC,OAAO,EAAE;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,4BAA4B,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvC,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAexC"}
@@ -0,0 +1,31 @@
1
+ import { inspectGooglePlayTrack } from './inspectGooglePlayTrack';
2
+ export async function verifyGooglePlayPublication(options) {
3
+ const inspected = await inspectGooglePlayTrack({
4
+ packageName: options.packageName,
5
+ track: options.publication.track,
6
+ credentials: options.credentials,
7
+ resolveSecret: options.resolveSecret,
8
+ createToken: options.createToken,
9
+ request: options.request,
10
+ });
11
+ if (inspected.status === 'action-required')
12
+ return inspected;
13
+ if (inspected.status === 'failed')
14
+ return { status: 'completed', verification: failed() };
15
+ const found = inspected.state.releases.some((release) => release.versionCodes.includes(options.publication.versionCode));
16
+ return { status: 'completed', verification: found ? { ok: true } : failed() };
17
+ }
18
+ function failed() {
19
+ return {
20
+ ok: false,
21
+ issues: [
22
+ {
23
+ code: 'GOOGLE_PLAY_VERSION_NOT_ACTIVE',
24
+ message: 'The published Android version is not active on the requested Google Play track.',
25
+ target: 'android',
26
+ provider: 'google-play',
27
+ },
28
+ ],
29
+ };
30
+ }
31
+ //# sourceMappingURL=verifyGooglePlayPublication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifyGooglePlayPublication.js","sourceRoot":"","sources":["../../../src/providers/googlePlay/verifyGooglePlayPublication.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMlE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAOjD;IACC,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;QAC7C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,MAAM,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;IAC1F,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtD,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAC/D,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,MAAM;IACb,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE,iFAAiF;gBAC1F,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,aAAa;aACxB;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { AndroidDeploymentPublication } from '../../domain/AndroidDeploymentPublication';\nimport type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';\nimport type { DeploymentRequiredAction } from '../../domain/DeploymentRequiredAction';\nimport type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';\nimport type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';\nimport type { GooglePlayTokenFactory } from './GooglePlayTokenFactory';\nimport type { GooglePlayTransport } from './GooglePlayTransport';\nimport { inspectGooglePlayTrack } from './inspectGooglePlayTrack';\n\nexport type GooglePlayVerificationResult =\n | { readonly status: 'completed'; readonly verification: DeploymentVerificationResult }\n | { readonly status: 'action-required'; readonly action: DeploymentRequiredAction };\n\nexport async function verifyGooglePlayPublication(options: {\n readonly packageName: string;\n readonly publication: AndroidDeploymentPublication;\n readonly credentials: readonly DeploymentCredentialReference[];\n readonly resolveSecret: DeploymentSecretResolver;\n readonly createToken: GooglePlayTokenFactory;\n readonly request: GooglePlayTransport;\n}): Promise<GooglePlayVerificationResult> {\n const inspected = await inspectGooglePlayTrack({\n packageName: options.packageName,\n track: options.publication.track,\n credentials: options.credentials,\n resolveSecret: options.resolveSecret,\n createToken: options.createToken,\n request: options.request,\n });\n if (inspected.status === 'action-required') return inspected;\n if (inspected.status === 'failed') return { status: 'completed', verification: failed() };\n const found = inspected.state.releases.some((release) =>\n release.versionCodes.includes(options.publication.versionCode),\n );\n return { status: 'completed', verification: found ? { ok: true } : failed() };\n}\n\nfunction failed(): DeploymentVerificationResult {\n return {\n ok: false,\n issues: [\n {\n code: 'GOOGLE_PLAY_VERSION_NOT_ACTIVE',\n message: 'The published Android version is not active on the requested Google Play track.',\n target: 'android',\n provider: 'google-play',\n },\n ],\n };\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { AndroidDeploymentIntent } from '../../domain/AndroidDeploymentIntent';
2
+ export declare function createAndroidDeploymentRevision(fingerprint: string, intent: AndroidDeploymentIntent): string;
3
+ //# sourceMappingURL=createAndroidDeploymentRevision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAndroidDeploymentRevision.d.ts","sourceRoot":"","sources":["../../../src/targets/android/createAndroidDeploymentRevision.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,uBAAuB,GAC9B,MAAM,CAQR"}
@@ -0,0 +1,11 @@
1
+ import { createHash } from 'node:crypto';
2
+ export function createAndroidDeploymentRevision(fingerprint, intent) {
3
+ const canonical = JSON.stringify({
4
+ fingerprint,
5
+ buildProfile: intent.buildProfile,
6
+ track: intent.track,
7
+ releaseStatus: intent.releaseStatus,
8
+ });
9
+ return createHash('sha256').update(canonical).digest('hex');
10
+ }
11
+ //# sourceMappingURL=createAndroidDeploymentRevision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAndroidDeploymentRevision.js","sourceRoot":"","sources":["../../../src/targets/android/createAndroidDeploymentRevision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,UAAU,+BAA+B,CAC7C,WAAmB,EACnB,MAA+B;IAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,WAAW;QACX,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC","sourcesContent":["import { createHash } from 'node:crypto';\n\nimport type { AndroidDeploymentIntent } from '../../domain/AndroidDeploymentIntent';\n\nexport function createAndroidDeploymentRevision(\n fingerprint: string,\n intent: AndroidDeploymentIntent,\n): string {\n const canonical = JSON.stringify({\n fingerprint,\n buildProfile: intent.buildProfile,\n track: intent.track,\n releaseStatus: intent.releaseStatus,\n });\n return createHash('sha256').update(canonical).digest('hex');\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { DeploymentTargetPlanContributor } from '../../domain/DeploymentTargetPlanContributor';
2
+ export declare function createAndroidTargetPlanContributor(): DeploymentTargetPlanContributor;
3
+ //# sourceMappingURL=createAndroidTargetPlanContributor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAndroidTargetPlanContributor.d.ts","sourceRoot":"","sources":["../../../src/targets/android/createAndroidTargetPlanContributor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AAEpG,wBAAgB,kCAAkC,IAAI,+BAA+B,CAMpF"}
@@ -0,0 +1,26 @@
1
+ export function createAndroidTargetPlanContributor() {
2
+ return {
3
+ target: 'android',
4
+ capabilities: ['prepare', 'build', 'publish', 'verify'],
5
+ createSteps: createAndroidSteps,
6
+ };
7
+ }
8
+ function createAndroidSteps(change) {
9
+ if (change.target !== 'android' || change.kind === 'none')
10
+ return [];
11
+ if (change.kind === 'remove')
12
+ return [removeStep(change.reason)];
13
+ return [
14
+ step('android:prepare', 'prepare', 'run', 'eas', change.reason),
15
+ step('android:build', 'build', change.kind, 'eas', change.reason),
16
+ step('android:publish', 'publish', change.kind, 'google-play', change.reason),
17
+ step('android:verify', 'verify', 'run', 'google-play', change.reason),
18
+ ];
19
+ }
20
+ function removeStep(reason) {
21
+ return step('android:remove', 'publish', 'remove', 'google-play', reason);
22
+ }
23
+ function step(id, phase, operation, provider, reason) {
24
+ return { id, target: 'android', phase, operation, provider, reason };
25
+ }
26
+ //# sourceMappingURL=createAndroidTargetPlanContributor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAndroidTargetPlanContributor.js","sourceRoot":"","sources":["../../../src/targets/android/createAndroidTargetPlanContributor.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,kCAAkC;IAChD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QACvD,WAAW,EAAE,kBAAkB;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA8B;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,OAAO;QACL,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACjE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC;QAC7E,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,IAAI,CACX,EAAU,EACV,KAAkC,EAClC,SAA0C,EAC1C,QAAgB,EAChB,MAAc;IAEd,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACvE,CAAC","sourcesContent":["import type { DeploymentPlanStep } from '../../domain/DeploymentPlanStep';\nimport type { DeploymentTargetChange } from '../../domain/DeploymentTargetChange';\nimport type { DeploymentTargetPlanContributor } from '../../domain/DeploymentTargetPlanContributor';\n\nexport function createAndroidTargetPlanContributor(): DeploymentTargetPlanContributor {\n return {\n target: 'android',\n capabilities: ['prepare', 'build', 'publish', 'verify'],\n createSteps: createAndroidSteps,\n };\n}\n\nfunction createAndroidSteps(change: DeploymentTargetChange): readonly DeploymentPlanStep[] {\n if (change.target !== 'android' || change.kind === 'none') return [];\n if (change.kind === 'remove') return [removeStep(change.reason)];\n return [\n step('android:prepare', 'prepare', 'run', 'eas', change.reason),\n step('android:build', 'build', change.kind, 'eas', change.reason),\n step('android:publish', 'publish', change.kind, 'google-play', change.reason),\n step('android:verify', 'verify', 'run', 'google-play', change.reason),\n ];\n}\n\nfunction removeStep(reason: string): DeploymentPlanStep {\n return step('android:remove', 'publish', 'remove', 'google-play', reason);\n}\n\nfunction step(\n id: string,\n phase: DeploymentPlanStep['phase'],\n operation: DeploymentPlanStep['operation'],\n provider: string,\n reason: string,\n): DeploymentPlanStep {\n return { id, target: 'android', phase, operation, provider, reason };\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { type AndroidDeploymentIntent } from '../../domain/AndroidDeploymentIntent';
2
+ export declare function isAndroidDeploymentIntentValid(intent: AndroidDeploymentIntent): boolean;
3
+ //# sourceMappingURL=isAndroidDeploymentIntentValid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAndroidDeploymentIntentValid.d.ts","sourceRoot":"","sources":["../../../src/targets/android/isAndroidDeploymentIntentValid.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,sCAAsC,CAAC;AAE9C,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAMvF"}
@@ -0,0 +1,7 @@
1
+ import { ANDROID_DEPLOYMENT_TRACKS, ANDROID_RELEASE_STATUSES, } from '../../domain/AndroidDeploymentIntent';
2
+ export function isAndroidDeploymentIntentValid(intent) {
3
+ return (intent.buildProfile.trim().length > 0 &&
4
+ ANDROID_DEPLOYMENT_TRACKS.some((track) => track === intent.track) &&
5
+ ANDROID_RELEASE_STATUSES.some((status) => status === intent.releaseStatus));
6
+ }
7
+ //# sourceMappingURL=isAndroidDeploymentIntentValid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAndroidDeploymentIntentValid.js","sourceRoot":"","sources":["../../../src/targets/android/isAndroidDeploymentIntentValid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAEzB,MAAM,sCAAsC,CAAC;AAE9C,MAAM,UAAU,8BAA8B,CAAC,MAA+B;IAC5E,OAAO,CACL,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACrC,yBAAyB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;QACjE,wBAAwB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,CAAC,CAC3E,CAAC;AACJ,CAAC","sourcesContent":["import {\n ANDROID_DEPLOYMENT_TRACKS,\n ANDROID_RELEASE_STATUSES,\n type AndroidDeploymentIntent,\n} from '../../domain/AndroidDeploymentIntent';\n\nexport function isAndroidDeploymentIntentValid(intent: AndroidDeploymentIntent): boolean {\n return (\n intent.buildProfile.trim().length > 0 &&\n ANDROID_DEPLOYMENT_TRACKS.some((track) => track === intent.track) &&\n ANDROID_RELEASE_STATUSES.some((status) => status === intent.releaseStatus)\n );\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';
2
+ import type { DeploymentFailure } from '../../domain/DeploymentFailure';
3
+ type NormalizedAndroidProviders = {
4
+ readonly build: 'eas';
5
+ readonly publish: 'google-play';
6
+ };
7
+ type NormalizeAndroidProvidersResult = {
8
+ readonly ok: true;
9
+ readonly providers: NormalizedAndroidProviders;
10
+ } | {
11
+ readonly ok: false;
12
+ readonly failure: DeploymentFailure;
13
+ };
14
+ export declare function normalizeAndroidProviders(providers: AppDeployProviderSelection | undefined): NormalizeAndroidProvidersResult;
15
+ export {};
16
+ //# sourceMappingURL=normalizeAndroidProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeAndroidProviders.d.ts","sourceRoot":"","sources":["../../../src/targets/android/normalizeAndroidProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,KAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC,CAAC;AAEF,KAAK,+BAA+B,GAChC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEhE,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,0BAA0B,GAAG,SAAS,GAChD,+BAA+B,CAcjC"}
@@ -0,0 +1,16 @@
1
+ export function normalizeAndroidProviders(providers) {
2
+ const build = providers?.build ?? 'eas';
3
+ const publish = providers?.publish ?? 'google-play';
4
+ if (build === 'eas' && publish === 'google-play') {
5
+ return { ok: true, providers: { build, publish } };
6
+ }
7
+ return {
8
+ ok: false,
9
+ failure: {
10
+ code: 'UNSUPPORTED_ANDROID_PROVIDER',
11
+ message: 'The configured Android deployment provider is not supported.',
12
+ target: 'android',
13
+ },
14
+ };
15
+ }
16
+ //# sourceMappingURL=normalizeAndroidProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeAndroidProviders.js","sourceRoot":"","sources":["../../../src/targets/android/normalizeAndroidProviders.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,yBAAyB,CACvC,SAAiD;IAEjD,MAAM,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,KAAK,CAAC;IACxC,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,aAAa,CAAC;IACpD,IAAI,KAAK,KAAK,KAAK,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QACjD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;IACrD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE;YACP,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,8DAA8D;YACvE,MAAM,EAAE,SAAS;SAClB;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentFailure } from '../../domain/DeploymentFailure';\n\ntype NormalizedAndroidProviders = {\n readonly build: 'eas';\n readonly publish: 'google-play';\n};\n\ntype NormalizeAndroidProvidersResult =\n | { readonly ok: true; readonly providers: NormalizedAndroidProviders }\n | { readonly ok: false; readonly failure: DeploymentFailure };\n\nexport function normalizeAndroidProviders(\n providers: AppDeployProviderSelection | undefined,\n): NormalizeAndroidProvidersResult {\n const build = providers?.build ?? 'eas';\n const publish = providers?.publish ?? 'google-play';\n if (build === 'eas' && publish === 'google-play') {\n return { ok: true, providers: { build, publish } };\n }\n return {\n ok: false,\n failure: {\n code: 'UNSUPPORTED_ANDROID_PROVIDER',\n message: 'The configured Android deployment provider is not supported.',\n target: 'android',\n },\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/deploy",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Declarative deployment engine for Expo apps across web, iOS, and Android — build, provision, publish, and manage releases from one configuration.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -71,7 +71,8 @@
71
71
  "prepack": "bun run build"
72
72
  },
73
73
  "dependencies": {
74
- "@ankhorage/contracts": "^7.5.0"
74
+ "@ankhorage/contracts": "^7.5.0",
75
+ "google-auth-library": "^10.9.1"
75
76
  },
76
77
  "devDependencies": {
77
78
  "@ankhorage/devtools": "^1.4.1",
@@ -1,7 +0,0 @@
1
- import type { DeploymentProviderSetupAdapter } from '../../domain/DeploymentProviderSetupAdapter';
2
- import type { DeploymentProcessRunner } from '../../runtime/process/DeploymentProcessRunner';
3
- export declare function createEasHostingSetupAdapter(options: {
4
- readonly projectRoot: string;
5
- readonly runProcess: DeploymentProcessRunner;
6
- }): DeploymentProviderSetupAdapter;
7
- //# sourceMappingURL=createEasHostingSetupAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createEasHostingSetupAdapter.d.ts","sourceRoot":"","sources":["../../../src/providers/eas/createEasHostingSetupAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAIlG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAG7F,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C,GAAG,8BAA8B,CAKjC"}
@@ -1,76 +0,0 @@
1
- import { resolveEasProcessEnvironment } from './resolveEasProcessEnvironment';
2
- export function createEasHostingSetupAdapter(options) {
3
- return {
4
- provider: 'eas',
5
- inspectSetup: (context) => inspectEasHostingSetup(options, context),
6
- };
7
- }
8
- async function inspectEasHostingSetup(options, context) {
9
- const environment = await resolveEasProcessEnvironment(context);
10
- if (!environment.ok)
11
- return authenticationRequired(environment.action);
12
- const account = await options.runProcess({
13
- command: 'eas',
14
- args: ['account:view'],
15
- cwd: options.projectRoot,
16
- ...(environment.env === undefined ? {} : { env: environment.env }),
17
- });
18
- if (account.exitCode !== 0)
19
- return authenticationRequired(createAuthenticationAction());
20
- const project = await options.runProcess({
21
- command: 'eas',
22
- args: ['project:info'],
23
- cwd: options.projectRoot,
24
- ...(environment.env === undefined ? {} : { env: environment.env }),
25
- });
26
- return project.exitCode === 0 ? readyInspection() : projectLinkRequired();
27
- }
28
- function createAuthenticationAction() {
29
- return {
30
- type: 'authentication',
31
- provider: 'eas',
32
- target: 'web',
33
- code: 'EAS_AUTHENTICATION_REQUIRED',
34
- message: 'EAS authentication is required for Web deployment.',
35
- };
36
- }
37
- function authenticationRequired(action) {
38
- return {
39
- provider: 'eas',
40
- authentication: { status: 'required', action },
41
- capabilities: [
42
- { capability: 'publish', status: 'unavailable', reason: 'Authentication required.' },
43
- ],
44
- provisioning: [{ type: 'authentication', action }],
45
- };
46
- }
47
- function readyInspection() {
48
- return {
49
- provider: 'eas',
50
- authentication: { status: 'authenticated' },
51
- capabilities: [{ capability: 'publish', status: 'available' }],
52
- provisioning: [],
53
- };
54
- }
55
- function projectLinkRequired() {
56
- return {
57
- provider: 'eas',
58
- authentication: { status: 'authenticated' },
59
- capabilities: [
60
- { capability: 'publish', status: 'unavailable', reason: 'EAS project link required.' },
61
- ],
62
- provisioning: [
63
- {
64
- type: 'manual-action',
65
- action: {
66
- type: 'manual-action',
67
- target: 'web',
68
- provider: 'eas',
69
- code: 'EAS_PROJECT_LINK_REQUIRED',
70
- message: 'Link the Expo project to an EAS project before publishing.',
71
- },
72
- },
73
- ],
74
- };
75
- }
76
- //# sourceMappingURL=createEasHostingSetupAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createEasHostingSetupAdapter.js","sourceRoot":"","sources":["../../../src/providers/eas/createEasHostingSetupAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeploymentProviderSetupAdapter } from '../../domain/DeploymentProviderSetupAdapter';\nimport type { DeploymentProviderSetupContext } from '../../domain/DeploymentProviderSetupContext';\nimport type { DeploymentProviderSetupInspection } from '../../domain/DeploymentProviderSetupInspection';\nimport type { DeploymentAuthenticationRequiredAction } from '../../domain/DeploymentRequiredAction';\nimport type { DeploymentProcessRunner } from '../../runtime/process/DeploymentProcessRunner';\nimport { resolveEasProcessEnvironment } from './resolveEasProcessEnvironment';\n\nexport function createEasHostingSetupAdapter(options: {\n readonly projectRoot: string;\n readonly runProcess: DeploymentProcessRunner;\n}): DeploymentProviderSetupAdapter {\n return {\n provider: 'eas',\n inspectSetup: (context) => inspectEasHostingSetup(options, context),\n };\n}\n\nasync function inspectEasHostingSetup(\n options: { readonly projectRoot: string; readonly runProcess: DeploymentProcessRunner },\n context: DeploymentProviderSetupContext,\n): Promise<DeploymentProviderSetupInspection> {\n const environment = await resolveEasProcessEnvironment(context);\n if (!environment.ok) return authenticationRequired(environment.action);\n\n const account = await options.runProcess({\n command: 'eas',\n args: ['account:view'],\n cwd: options.projectRoot,\n ...(environment.env === undefined ? {} : { env: environment.env }),\n });\n if (account.exitCode !== 0) return authenticationRequired(createAuthenticationAction());\n\n const project = await options.runProcess({\n command: 'eas',\n args: ['project:info'],\n cwd: options.projectRoot,\n ...(environment.env === undefined ? {} : { env: environment.env }),\n });\n return project.exitCode === 0 ? readyInspection() : projectLinkRequired();\n}\n\nfunction createAuthenticationAction(): DeploymentAuthenticationRequiredAction {\n return {\n type: 'authentication',\n provider: 'eas',\n target: 'web',\n code: 'EAS_AUTHENTICATION_REQUIRED',\n message: 'EAS authentication is required for Web deployment.',\n };\n}\n\nfunction authenticationRequired(\n action: DeploymentAuthenticationRequiredAction,\n): DeploymentProviderSetupInspection {\n return {\n provider: 'eas',\n authentication: { status: 'required', action },\n capabilities: [\n { capability: 'publish', status: 'unavailable', reason: 'Authentication required.' },\n ],\n provisioning: [{ type: 'authentication', action }],\n };\n}\n\nfunction readyInspection(): DeploymentProviderSetupInspection {\n return {\n provider: 'eas',\n authentication: { status: 'authenticated' },\n capabilities: [{ capability: 'publish', status: 'available' }],\n provisioning: [],\n };\n}\n\nfunction projectLinkRequired(): DeploymentProviderSetupInspection {\n return {\n provider: 'eas',\n authentication: { status: 'authenticated' },\n capabilities: [\n { capability: 'publish', status: 'unavailable', reason: 'EAS project link required.' },\n ],\n provisioning: [\n {\n type: 'manual-action',\n action: {\n type: 'manual-action',\n target: 'web',\n provider: 'eas',\n code: 'EAS_PROJECT_LINK_REQUIRED',\n message: 'Link the Expo project to an EAS project before publishing.',\n },\n },\n ],\n };\n}\n"]}