@ankhorage/deploy 0.5.0 → 0.6.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 (214) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/domain/IosDeploymentIntent.d.ts +5 -0
  4. package/dist/domain/IosDeploymentIntent.d.ts.map +1 -0
  5. package/dist/domain/IosDeploymentIntent.js +2 -0
  6. package/dist/domain/IosDeploymentIntent.js.map +1 -0
  7. package/dist/domain/IosDeploymentPublication.d.ts +10 -0
  8. package/dist/domain/IosDeploymentPublication.d.ts.map +1 -0
  9. package/dist/domain/IosDeploymentPublication.js +2 -0
  10. package/dist/domain/IosDeploymentPublication.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/index.d.ts +6 -0
  15. package/dist/project/index.d.ts.map +1 -1
  16. package/dist/project/index.js +3 -0
  17. package/dist/project/index.js.map +1 -1
  18. package/dist/project/ios/ProjectIosDeploymentAccess.d.ts +7 -0
  19. package/dist/project/ios/ProjectIosDeploymentAccess.d.ts.map +1 -0
  20. package/dist/project/ios/ProjectIosDeploymentAccess.js +2 -0
  21. package/dist/project/ios/ProjectIosDeploymentAccess.js.map +1 -0
  22. package/dist/project/ios/ProjectIosDeploymentExecution.d.ts +12 -0
  23. package/dist/project/ios/ProjectIosDeploymentExecution.d.ts.map +1 -0
  24. package/dist/project/ios/ProjectIosDeploymentExecution.js +2 -0
  25. package/dist/project/ios/ProjectIosDeploymentExecution.js.map +1 -0
  26. package/dist/project/ios/ProjectIosDeploymentInspection.d.ts +21 -0
  27. package/dist/project/ios/ProjectIosDeploymentInspection.d.ts.map +1 -0
  28. package/dist/project/ios/ProjectIosDeploymentInspection.js +2 -0
  29. package/dist/project/ios/ProjectIosDeploymentInspection.js.map +1 -0
  30. package/dist/project/ios/ProjectIosDeploymentRuntime.d.ts +19 -0
  31. package/dist/project/ios/ProjectIosDeploymentRuntime.d.ts.map +1 -0
  32. package/dist/project/ios/ProjectIosDeploymentRuntime.js +22 -0
  33. package/dist/project/ios/ProjectIosDeploymentRuntime.js.map +1 -0
  34. package/dist/project/ios/ProjectIosExecutionState.d.ts +12 -0
  35. package/dist/project/ios/ProjectIosExecutionState.d.ts.map +1 -0
  36. package/dist/project/ios/ProjectIosExecutionState.js +2 -0
  37. package/dist/project/ios/ProjectIosExecutionState.js.map +1 -0
  38. package/dist/project/ios/createProjectIosDeploymentPlan.d.ts +4 -0
  39. package/dist/project/ios/createProjectIosDeploymentPlan.d.ts.map +1 -0
  40. package/dist/project/ios/createProjectIosDeploymentPlan.js +13 -0
  41. package/dist/project/ios/createProjectIosDeploymentPlan.js.map +1 -0
  42. package/dist/project/ios/executeProjectIosDeployment.d.ts +12 -0
  43. package/dist/project/ios/executeProjectIosDeployment.d.ts.map +1 -0
  44. package/dist/project/ios/executeProjectIosDeployment.js +160 -0
  45. package/dist/project/ios/executeProjectIosDeployment.js.map +1 -0
  46. package/dist/project/ios/executeProjectIosStep.d.ts +15 -0
  47. package/dist/project/ios/executeProjectIosStep.d.ts.map +1 -0
  48. package/dist/project/ios/executeProjectIosStep.js +171 -0
  49. package/dist/project/ios/executeProjectIosStep.js.map +1 -0
  50. package/dist/project/ios/inspectProjectIosAppStoreConnect.d.ts +15 -0
  51. package/dist/project/ios/inspectProjectIosAppStoreConnect.d.ts.map +1 -0
  52. package/dist/project/ios/inspectProjectIosAppStoreConnect.js +55 -0
  53. package/dist/project/ios/inspectProjectIosAppStoreConnect.js.map +1 -0
  54. package/dist/project/ios/inspectProjectIosDeployment.d.ts +11 -0
  55. package/dist/project/ios/inspectProjectIosDeployment.d.ts.map +1 -0
  56. package/dist/project/ios/inspectProjectIosDeployment.js +96 -0
  57. package/dist/project/ios/inspectProjectIosDeployment.js.map +1 -0
  58. package/dist/project/ios/inspectProjectIosEasSetup.d.ts +5 -0
  59. package/dist/project/ios/inspectProjectIosEasSetup.d.ts.map +1 -0
  60. package/dist/project/ios/inspectProjectIosEasSetup.js +18 -0
  61. package/dist/project/ios/inspectProjectIosEasSetup.js.map +1 -0
  62. package/dist/project/ios/normalizeProjectIosDesired.d.ts +13 -0
  63. package/dist/project/ios/normalizeProjectIosDesired.d.ts.map +1 -0
  64. package/dist/project/ios/normalizeProjectIosDesired.js +25 -0
  65. package/dist/project/ios/normalizeProjectIosDesired.js.map +1 -0
  66. package/dist/project/ios/readCurrentProjectIosDeployment.d.ts +8 -0
  67. package/dist/project/ios/readCurrentProjectIosDeployment.d.ts.map +1 -0
  68. package/dist/project/ios/readCurrentProjectIosDeployment.js +52 -0
  69. package/dist/project/ios/readCurrentProjectIosDeployment.js.map +1 -0
  70. package/dist/project/ios/recordProjectIosDeployment.d.ts +21 -0
  71. package/dist/project/ios/recordProjectIosDeployment.d.ts.map +1 -0
  72. package/dist/project/ios/recordProjectIosDeployment.js +36 -0
  73. package/dist/project/ios/recordProjectIosDeployment.js.map +1 -0
  74. package/dist/project/ios/resolveProjectIosDeploymentAccess.d.ts +9 -0
  75. package/dist/project/ios/resolveProjectIosDeploymentAccess.d.ts.map +1 -0
  76. package/dist/project/ios/resolveProjectIosDeploymentAccess.js +7 -0
  77. package/dist/project/ios/resolveProjectIosDeploymentAccess.js.map +1 -0
  78. package/dist/project/ios/scopeProjectIosDeploymentAccess.d.ts +3 -0
  79. package/dist/project/ios/scopeProjectIosDeploymentAccess.d.ts.map +1 -0
  80. package/dist/project/ios/scopeProjectIosDeploymentAccess.js +7 -0
  81. package/dist/project/ios/scopeProjectIosDeploymentAccess.js.map +1 -0
  82. package/dist/providers/appStoreConnect/AppStoreConnectIosState.d.ts +17 -0
  83. package/dist/providers/appStoreConnect/AppStoreConnectIosState.d.ts.map +1 -0
  84. package/dist/providers/appStoreConnect/AppStoreConnectIosState.js +2 -0
  85. package/dist/providers/appStoreConnect/AppStoreConnectIosState.js.map +1 -0
  86. package/dist/providers/appStoreConnect/AppStoreConnectPublicationResult.d.ts +19 -0
  87. package/dist/providers/appStoreConnect/AppStoreConnectPublicationResult.d.ts.map +1 -0
  88. package/dist/providers/appStoreConnect/AppStoreConnectPublicationResult.js +2 -0
  89. package/dist/providers/appStoreConnect/AppStoreConnectPublicationResult.js.map +1 -0
  90. package/dist/providers/appStoreConnect/AppStoreConnectRequestTracker.d.ts +9 -0
  91. package/dist/providers/appStoreConnect/AppStoreConnectRequestTracker.d.ts.map +1 -0
  92. package/dist/providers/appStoreConnect/AppStoreConnectRequestTracker.js +13 -0
  93. package/dist/providers/appStoreConnect/AppStoreConnectRequestTracker.js.map +1 -0
  94. package/dist/providers/appStoreConnect/AppStoreConnectTokenFactory.d.ts +8 -0
  95. package/dist/providers/appStoreConnect/AppStoreConnectTokenFactory.d.ts.map +1 -0
  96. package/dist/providers/appStoreConnect/AppStoreConnectTokenFactory.js +21 -0
  97. package/dist/providers/appStoreConnect/AppStoreConnectTokenFactory.js.map +1 -0
  98. package/dist/providers/appStoreConnect/AppStoreConnectTransport.d.ts +13 -0
  99. package/dist/providers/appStoreConnect/AppStoreConnectTransport.d.ts.map +1 -0
  100. package/dist/providers/appStoreConnect/AppStoreConnectTransport.js +15 -0
  101. package/dist/providers/appStoreConnect/AppStoreConnectTransport.js.map +1 -0
  102. package/dist/providers/appStoreConnect/AppStoreUploadTransport.d.ts +17 -0
  103. package/dist/providers/appStoreConnect/AppStoreUploadTransport.d.ts.map +1 -0
  104. package/dist/providers/appStoreConnect/AppStoreUploadTransport.js +12 -0
  105. package/dist/providers/appStoreConnect/AppStoreUploadTransport.js.map +1 -0
  106. package/dist/providers/appStoreConnect/BuildUploadOperation.d.ts +13 -0
  107. package/dist/providers/appStoreConnect/BuildUploadOperation.d.ts.map +1 -0
  108. package/dist/providers/appStoreConnect/BuildUploadOperation.js +2 -0
  109. package/dist/providers/appStoreConnect/BuildUploadOperation.js.map +1 -0
  110. package/dist/providers/appStoreConnect/appStoreConnectUrls.d.ts +10 -0
  111. package/dist/providers/appStoreConnect/appStoreConnectUrls.d.ts.map +1 -0
  112. package/dist/providers/appStoreConnect/appStoreConnectUrls.js +42 -0
  113. package/dist/providers/appStoreConnect/appStoreConnectUrls.js.map +1 -0
  114. package/dist/providers/appStoreConnect/attachAppStoreVersionBuild.d.ts +8 -0
  115. package/dist/providers/appStoreConnect/attachAppStoreVersionBuild.d.ts.map +1 -0
  116. package/dist/providers/appStoreConnect/attachAppStoreVersionBuild.js +12 -0
  117. package/dist/providers/appStoreConnect/attachAppStoreVersionBuild.js.map +1 -0
  118. package/dist/providers/appStoreConnect/commitAppStoreBuildUploadFile.d.ts +7 -0
  119. package/dist/providers/appStoreConnect/commitAppStoreBuildUploadFile.d.ts.map +1 -0
  120. package/dist/providers/appStoreConnect/commitAppStoreBuildUploadFile.js +18 -0
  121. package/dist/providers/appStoreConnect/commitAppStoreBuildUploadFile.js.map +1 -0
  122. package/dist/providers/appStoreConnect/createAppStoreBuildUpload.d.ts +9 -0
  123. package/dist/providers/appStoreConnect/createAppStoreBuildUpload.d.ts.map +1 -0
  124. package/dist/providers/appStoreConnect/createAppStoreBuildUpload.js +41 -0
  125. package/dist/providers/appStoreConnect/createAppStoreBuildUpload.js.map +1 -0
  126. package/dist/providers/appStoreConnect/createAppStoreConnectSetupAdapter.d.ts +7 -0
  127. package/dist/providers/appStoreConnect/createAppStoreConnectSetupAdapter.d.ts.map +1 -0
  128. package/dist/providers/appStoreConnect/createAppStoreConnectSetupAdapter.js +33 -0
  129. package/dist/providers/appStoreConnect/createAppStoreConnectSetupAdapter.js.map +1 -0
  130. package/dist/providers/appStoreConnect/downloadIosArchive.d.ts +9 -0
  131. package/dist/providers/appStoreConnect/downloadIosArchive.d.ts.map +1 -0
  132. package/dist/providers/appStoreConnect/downloadIosArchive.js +28 -0
  133. package/dist/providers/appStoreConnect/downloadIosArchive.js.map +1 -0
  134. package/dist/providers/appStoreConnect/executeBuildUploadOperations.d.ts +8 -0
  135. package/dist/providers/appStoreConnect/executeBuildUploadOperations.d.ts.map +1 -0
  136. package/dist/providers/appStoreConnect/executeBuildUploadOperations.js +15 -0
  137. package/dist/providers/appStoreConnect/executeBuildUploadOperations.js.map +1 -0
  138. package/dist/providers/appStoreConnect/inspectAppStoreConnectIos.d.ts +27 -0
  139. package/dist/providers/appStoreConnect/inspectAppStoreConnectIos.d.ts.map +1 -0
  140. package/dist/providers/appStoreConnect/inspectAppStoreConnectIos.js +177 -0
  141. package/dist/providers/appStoreConnect/inspectAppStoreConnectIos.js.map +1 -0
  142. package/dist/providers/appStoreConnect/parseBuildUploadFileReservation.d.ts +3 -0
  143. package/dist/providers/appStoreConnect/parseBuildUploadFileReservation.d.ts.map +1 -0
  144. package/dist/providers/appStoreConnect/parseBuildUploadFileReservation.js +81 -0
  145. package/dist/providers/appStoreConnect/parseBuildUploadFileReservation.js.map +1 -0
  146. package/dist/providers/appStoreConnect/prepareAppStoreVersion.d.ts +8 -0
  147. package/dist/providers/appStoreConnect/prepareAppStoreVersion.d.ts.map +1 -0
  148. package/dist/providers/appStoreConnect/prepareAppStoreVersion.js +66 -0
  149. package/dist/providers/appStoreConnect/prepareAppStoreVersion.js.map +1 -0
  150. package/dist/providers/appStoreConnect/publishIosToAppStoreConnect.d.ts +21 -0
  151. package/dist/providers/appStoreConnect/publishIosToAppStoreConnect.d.ts.map +1 -0
  152. package/dist/providers/appStoreConnect/publishIosToAppStoreConnect.js +124 -0
  153. package/dist/providers/appStoreConnect/publishIosToAppStoreConnect.js.map +1 -0
  154. package/dist/providers/appStoreConnect/reserveAppStoreBuildUploadFile.d.ts +9 -0
  155. package/dist/providers/appStoreConnect/reserveAppStoreBuildUploadFile.d.ts.map +1 -0
  156. package/dist/providers/appStoreConnect/reserveAppStoreBuildUploadFile.js +32 -0
  157. package/dist/providers/appStoreConnect/reserveAppStoreBuildUploadFile.js.map +1 -0
  158. package/dist/providers/appStoreConnect/resolveAppStoreConnectToken.d.ts +18 -0
  159. package/dist/providers/appStoreConnect/resolveAppStoreConnectToken.d.ts.map +1 -0
  160. package/dist/providers/appStoreConnect/resolveAppStoreConnectToken.js +64 -0
  161. package/dist/providers/appStoreConnect/resolveAppStoreConnectToken.js.map +1 -0
  162. package/dist/providers/appStoreConnect/verifyAppStoreConnectPublication.d.ts +23 -0
  163. package/dist/providers/appStoreConnect/verifyAppStoreConnectPublication.d.ts.map +1 -0
  164. package/dist/providers/appStoreConnect/verifyAppStoreConnectPublication.js +60 -0
  165. package/dist/providers/appStoreConnect/verifyAppStoreConnectPublication.js.map +1 -0
  166. package/dist/providers/appStoreConnect/verifyAppStoreVersionBuild.d.ts +9 -0
  167. package/dist/providers/appStoreConnect/verifyAppStoreVersionBuild.d.ts.map +1 -0
  168. package/dist/providers/appStoreConnect/verifyAppStoreVersionBuild.js +26 -0
  169. package/dist/providers/appStoreConnect/verifyAppStoreVersionBuild.js.map +1 -0
  170. package/dist/providers/appStoreConnect/waitForAppStoreBuildUpload.d.ts +14 -0
  171. package/dist/providers/appStoreConnect/waitForAppStoreBuildUpload.d.ts.map +1 -0
  172. package/dist/providers/appStoreConnect/waitForAppStoreBuildUpload.js +69 -0
  173. package/dist/providers/appStoreConnect/waitForAppStoreBuildUpload.js.map +1 -0
  174. package/dist/providers/eas/ios/EasIosBuildArtifact.d.ts +9 -0
  175. package/dist/providers/eas/ios/EasIosBuildArtifact.d.ts.map +1 -0
  176. package/dist/providers/eas/ios/EasIosBuildArtifact.js +2 -0
  177. package/dist/providers/eas/ios/EasIosBuildArtifact.js.map +1 -0
  178. package/dist/providers/eas/ios/buildIosWithEas.d.ts +26 -0
  179. package/dist/providers/eas/ios/buildIosWithEas.d.ts.map +1 -0
  180. package/dist/providers/eas/ios/buildIosWithEas.js +60 -0
  181. package/dist/providers/eas/ios/buildIosWithEas.js.map +1 -0
  182. package/dist/providers/eas/ios/generateLocalIosFingerprint.d.ts +15 -0
  183. package/dist/providers/eas/ios/generateLocalIosFingerprint.d.ts.map +1 -0
  184. package/dist/providers/eas/ios/generateLocalIosFingerprint.js +48 -0
  185. package/dist/providers/eas/ios/generateLocalIosFingerprint.js.map +1 -0
  186. package/dist/providers/eas/ios/inspectEasIosConfig.d.ts +28 -0
  187. package/dist/providers/eas/ios/inspectEasIosConfig.d.ts.map +1 -0
  188. package/dist/providers/eas/ios/inspectEasIosConfig.js +40 -0
  189. package/dist/providers/eas/ios/inspectEasIosConfig.js.map +1 -0
  190. package/dist/providers/eas/ios/parseEasIosBuild.d.ts +3 -0
  191. package/dist/providers/eas/ios/parseEasIosBuild.d.ts.map +1 -0
  192. package/dist/providers/eas/ios/parseEasIosBuild.js +41 -0
  193. package/dist/providers/eas/ios/parseEasIosBuild.js.map +1 -0
  194. package/dist/providers/eas/ios/parseEasIosConfig.d.ts +3 -0
  195. package/dist/providers/eas/ios/parseEasIosConfig.d.ts.map +1 -0
  196. package/dist/providers/eas/ios/parseEasIosConfig.js +56 -0
  197. package/dist/providers/eas/ios/parseEasIosConfig.js.map +1 -0
  198. package/dist/targets/ios/createIosDeploymentRevision.d.ts +3 -0
  199. package/dist/targets/ios/createIosDeploymentRevision.d.ts.map +1 -0
  200. package/dist/targets/ios/createIosDeploymentRevision.js +10 -0
  201. package/dist/targets/ios/createIosDeploymentRevision.js.map +1 -0
  202. package/dist/targets/ios/createIosTargetPlanContributor.d.ts +3 -0
  203. package/dist/targets/ios/createIosTargetPlanContributor.d.ts.map +1 -0
  204. package/dist/targets/ios/createIosTargetPlanContributor.js +26 -0
  205. package/dist/targets/ios/createIosTargetPlanContributor.js.map +1 -0
  206. package/dist/targets/ios/isIosDeploymentIntentValid.d.ts +3 -0
  207. package/dist/targets/ios/isIosDeploymentIntentValid.d.ts.map +1 -0
  208. package/dist/targets/ios/isIosDeploymentIntentValid.js +4 -0
  209. package/dist/targets/ios/isIosDeploymentIntentValid.js.map +1 -0
  210. package/dist/targets/ios/normalizeIosProviders.d.ts +16 -0
  211. package/dist/targets/ios/normalizeIosProviders.d.ts.map +1 -0
  212. package/dist/targets/ios/normalizeIosProviders.js +16 -0
  213. package/dist/targets/ios/normalizeIosProviders.js.map +1 -0
  214. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordProjectIosDeployment.d.ts","sourceRoot":"","sources":["../../../src/project/ios/recordProjectIosDeployment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAGtF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAEvF,MAAM,MAAM,6BAA6B,GACvC;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAElG,wBAAsB,0BAA0B,CAAC,OAAO,EAAE;IACxD,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAoBzC"}
@@ -0,0 +1,36 @@
1
+ import { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from '../history/historySchemaVersion';
2
+ import { recordProjectDeploymentHistory } from '../history/recordProjectDeploymentHistory';
3
+ export async function recordProjectIosDeployment(options) {
4
+ const revision = options.inspection.desiredRevision;
5
+ if (revision === undefined)
6
+ return historyFailure('IOS_HISTORY_REVISION_MISSING');
7
+ try {
8
+ await recordProjectDeploymentHistory({
9
+ projectRoot: options.inspection.projectRoot,
10
+ record: {
11
+ schemaVersion: PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION,
12
+ deploymentId: `ios-${options.publication.buildNumber}-${revision}`,
13
+ recordedAt: options.recordedAt,
14
+ desired: options.inspection.desired,
15
+ plan: options.plan,
16
+ execution: options.execution,
17
+ verification: options.verification,
18
+ },
19
+ });
20
+ return { recorded: true };
21
+ }
22
+ catch {
23
+ return historyFailure('IOS_HISTORY_RECORD_FAILED');
24
+ }
25
+ }
26
+ function historyFailure(code) {
27
+ return {
28
+ recorded: false,
29
+ failure: {
30
+ code,
31
+ message: 'iOS deployment history could not be recorded.',
32
+ target: 'ios',
33
+ },
34
+ };
35
+ }
36
+ //# sourceMappingURL=recordProjectIosDeployment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordProjectIosDeployment.js","sourceRoot":"","sources":["../../../src/project/ios/recordProjectIosDeployment.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yCAAyC,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAM3F,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAOhD;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,8BAA8B,CAAC;YACnC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW;YAC3C,MAAM,EAAE;gBACN,aAAa,EAAE,yCAAyC;gBACxD,YAAY,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,QAAQ,EAAE;gBAClE,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC;SACF,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC,2BAA2B,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE;YACP,IAAI;YACJ,OAAO,EAAE,+CAA+C;YACxD,MAAM,EAAE,KAAK;SACd;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentExecutionResult } from '../../domain/DeploymentExecutionResult';\nimport type { DeploymentFailure } from '../../domain/DeploymentFailure';\nimport type { DeploymentPlan } from '../../domain/DeploymentPlan';\nimport type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';\nimport type { IosDeploymentPublication } from '../../domain/IosDeploymentPublication';\nimport { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from '../history/historySchemaVersion';\nimport { recordProjectDeploymentHistory } from '../history/recordProjectDeploymentHistory';\nimport type { ProjectIosDeploymentInspection } from './ProjectIosDeploymentInspection';\n\nexport type RecordProjectIosHistoryResult =\n { readonly recorded: true } | { readonly recorded: false; readonly failure: DeploymentFailure };\n\nexport async function recordProjectIosDeployment(options: {\n readonly inspection: ProjectIosDeploymentInspection;\n readonly publication: IosDeploymentPublication;\n readonly plan: DeploymentPlan;\n readonly execution: DeploymentExecutionResult;\n readonly verification: DeploymentVerificationResult;\n readonly recordedAt: string;\n}): Promise<RecordProjectIosHistoryResult> {\n const revision = options.inspection.desiredRevision;\n if (revision === undefined) return historyFailure('IOS_HISTORY_REVISION_MISSING');\n try {\n await recordProjectDeploymentHistory({\n projectRoot: options.inspection.projectRoot,\n record: {\n schemaVersion: PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION,\n deploymentId: `ios-${options.publication.buildNumber}-${revision}`,\n recordedAt: options.recordedAt,\n desired: options.inspection.desired,\n plan: options.plan,\n execution: options.execution,\n verification: options.verification,\n },\n });\n return { recorded: true };\n } catch {\n return historyFailure('IOS_HISTORY_RECORD_FAILED');\n }\n}\n\nfunction historyFailure(code: string): RecordProjectIosHistoryResult {\n return {\n recorded: false,\n failure: {\n code,\n message: 'iOS deployment history could not be recorded.',\n target: 'ios',\n },\n };\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';
2
+ import type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';
3
+ import type { ProjectIosDeploymentAccess } from './ProjectIosDeploymentAccess';
4
+ export interface ResolvedProjectIosDeploymentAccess {
5
+ readonly credentials: readonly DeploymentCredentialReference[];
6
+ readonly resolveSecret: DeploymentSecretResolver;
7
+ }
8
+ export declare function resolveProjectIosDeploymentAccess(access: ProjectIosDeploymentAccess): ResolvedProjectIosDeploymentAccess;
9
+ //# sourceMappingURL=resolveProjectIosDeploymentAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveProjectIosDeploymentAccess.d.ts","sourceRoot":"","sources":["../../../src/project/ios/resolveProjectIosDeploymentAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;CAClD;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,0BAA0B,GACjC,kCAAkC,CAKpC"}
@@ -0,0 +1,7 @@
1
+ export function resolveProjectIosDeploymentAccess(access) {
2
+ return {
3
+ credentials: access.credentials ?? [],
4
+ resolveSecret: access.resolveSecret ?? (() => Promise.resolve(null)),
5
+ };
6
+ }
7
+ //# sourceMappingURL=resolveProjectIosDeploymentAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveProjectIosDeploymentAccess.js","sourceRoot":"","sources":["../../../src/project/ios/resolveProjectIosDeploymentAccess.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,iCAAiC,CAC/C,MAAkC;IAElC,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';\nimport type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';\nimport type { ProjectIosDeploymentAccess } from './ProjectIosDeploymentAccess';\n\nexport interface ResolvedProjectIosDeploymentAccess {\n readonly credentials: readonly DeploymentCredentialReference[];\n readonly resolveSecret: DeploymentSecretResolver;\n}\n\nexport function resolveProjectIosDeploymentAccess(\n access: ProjectIosDeploymentAccess,\n): ResolvedProjectIosDeploymentAccess {\n return {\n credentials: access.credentials ?? [],\n resolveSecret: access.resolveSecret ?? (() => Promise.resolve(null)),\n };\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { ResolvedProjectIosDeploymentAccess } from './resolveProjectIosDeploymentAccess';
2
+ export declare function scopeProjectIosDeploymentAccess(access: ResolvedProjectIosDeploymentAccess, provider: 'eas' | 'app-store-connect'): ResolvedProjectIosDeploymentAccess;
3
+ //# sourceMappingURL=scopeProjectIosDeploymentAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeProjectIosDeploymentAccess.d.ts","sourceRoot":"","sources":["../../../src/project/ios/scopeProjectIosDeploymentAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AAE9F,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,kCAAkC,EAC1C,QAAQ,EAAE,KAAK,GAAG,mBAAmB,GACpC,kCAAkC,CAKpC"}
@@ -0,0 +1,7 @@
1
+ export function scopeProjectIosDeploymentAccess(access, provider) {
2
+ return {
3
+ credentials: access.credentials.filter((credential) => credential.provider === provider),
4
+ resolveSecret: access.resolveSecret,
5
+ };
6
+ }
7
+ //# sourceMappingURL=scopeProjectIosDeploymentAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeProjectIosDeploymentAccess.js","sourceRoot":"","sources":["../../../src/project/ios/scopeProjectIosDeploymentAccess.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,+BAA+B,CAC7C,MAA0C,EAC1C,QAAqC;IAErC,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACxF,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;AACJ,CAAC","sourcesContent":["import type { ResolvedProjectIosDeploymentAccess } from './resolveProjectIosDeploymentAccess';\n\nexport function scopeProjectIosDeploymentAccess(\n access: ResolvedProjectIosDeploymentAccess,\n provider: 'eas' | 'app-store-connect',\n): ResolvedProjectIosDeploymentAccess {\n return {\n credentials: access.credentials.filter((credential) => credential.provider === provider),\n resolveSecret: access.resolveSecret,\n };\n}\n"]}
@@ -0,0 +1,17 @@
1
+ interface AppStoreConnectIosBuildState {
2
+ readonly buildId: string;
3
+ readonly buildNumber: string;
4
+ readonly processingState?: string;
5
+ }
6
+ interface AppStoreConnectIosVersionState {
7
+ readonly versionId: string;
8
+ readonly version: string;
9
+ readonly build: AppStoreConnectIosBuildState | null;
10
+ }
11
+ export interface AppStoreConnectIosState {
12
+ readonly appId: string;
13
+ readonly bundleIdentifier: string;
14
+ readonly version: AppStoreConnectIosVersionState | null;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=AppStoreConnectIosState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectIosState.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectIosState.ts"],"names":[],"mappings":"AAAA,UAAU,4BAA4B;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAAC;CACzD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AppStoreConnectIosState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectIosState.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectIosState.ts"],"names":[],"mappings":"","sourcesContent":["interface AppStoreConnectIosBuildState {\n readonly buildId: string;\n readonly buildNumber: string;\n readonly processingState?: string;\n}\n\ninterface AppStoreConnectIosVersionState {\n readonly versionId: string;\n readonly version: string;\n readonly build: AppStoreConnectIosBuildState | null;\n}\n\nexport interface AppStoreConnectIosState {\n readonly appId: string;\n readonly bundleIdentifier: string;\n readonly version: AppStoreConnectIosVersionState | null;\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import type { DeploymentFailure } from '../../domain/DeploymentFailure';
2
+ import type { DeploymentRequiredAction } from '../../domain/DeploymentRequiredAction';
3
+ export interface AppStoreConnectPublication {
4
+ readonly buildId: string;
5
+ readonly versionId: string;
6
+ readonly buildNumber: string;
7
+ readonly version: string;
8
+ }
9
+ export type AppStoreConnectPublicationResult = {
10
+ readonly status: 'completed';
11
+ readonly publication: AppStoreConnectPublication;
12
+ } | {
13
+ readonly status: 'action-required';
14
+ readonly action: DeploymentRequiredAction;
15
+ } | {
16
+ readonly status: 'failed';
17
+ readonly failure: DeploymentFailure;
18
+ };
19
+ //# sourceMappingURL=AppStoreConnectPublicationResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectPublicationResult.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectPublicationResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gCAAgC,GACxC;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AppStoreConnectPublicationResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectPublicationResult.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectPublicationResult.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeploymentFailure } from '../../domain/DeploymentFailure';\nimport type { DeploymentRequiredAction } from '../../domain/DeploymentRequiredAction';\n\nexport interface AppStoreConnectPublication {\n readonly buildId: string;\n readonly versionId: string;\n readonly buildNumber: string;\n readonly version: string;\n}\n\nexport type AppStoreConnectPublicationResult =\n | { readonly status: 'completed'; readonly publication: AppStoreConnectPublication }\n | { readonly status: 'action-required'; readonly action: DeploymentRequiredAction }\n | { readonly status: 'failed'; readonly failure: DeploymentFailure };\n"]}
@@ -0,0 +1,9 @@
1
+ import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
2
+ type AppStoreConnectBlockingStatus = 401 | 403 | null;
3
+ export interface AppStoreConnectRequestTracker {
4
+ readonly request: AppStoreConnectTransport;
5
+ readonly blockingStatus: () => AppStoreConnectBlockingStatus;
6
+ }
7
+ export declare function trackAppStoreConnectRequests(transport: AppStoreConnectTransport): AppStoreConnectRequestTracker;
8
+ export {};
9
+ //# sourceMappingURL=AppStoreConnectRequestTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectRequestTracker.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectRequestTracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEnG,KAAK,6BAA6B,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAEtD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,6BAA6B,CAAC;CAC9D;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,wBAAwB,GAClC,6BAA6B,CAU/B"}
@@ -0,0 +1,13 @@
1
+ export function trackAppStoreConnectRequests(transport) {
2
+ let blockingStatus = null;
3
+ return {
4
+ request: async (request) => {
5
+ const response = await transport(request);
6
+ if (response.status === 401 || response.status === 403)
7
+ blockingStatus = response.status;
8
+ return response;
9
+ },
10
+ blockingStatus: () => blockingStatus,
11
+ };
12
+ }
13
+ //# sourceMappingURL=AppStoreConnectRequestTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectRequestTracker.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectRequestTracker.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,4BAA4B,CAC1C,SAAmC;IAEnC,IAAI,cAAc,GAAkC,IAAI,CAAC;IACzD,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,OAA+B,EAAE,EAAE;YACjD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;gBAAE,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,cAAc,EAAE,GAAG,EAAE,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC","sourcesContent":["import type { AppStoreConnectRequest, AppStoreConnectTransport } from './AppStoreConnectTransport';\n\ntype AppStoreConnectBlockingStatus = 401 | 403 | null;\n\nexport interface AppStoreConnectRequestTracker {\n readonly request: AppStoreConnectTransport;\n readonly blockingStatus: () => AppStoreConnectBlockingStatus;\n}\n\nexport function trackAppStoreConnectRequests(\n transport: AppStoreConnectTransport,\n): AppStoreConnectRequestTracker {\n let blockingStatus: AppStoreConnectBlockingStatus = null;\n return {\n request: async (request: AppStoreConnectRequest) => {\n const response = await transport(request);\n if (response.status === 401 || response.status === 403) blockingStatus = response.status;\n return response;\n },\n blockingStatus: () => blockingStatus,\n };\n}\n"]}
@@ -0,0 +1,8 @@
1
+ export interface AppStoreConnectApiKeyCredentials {
2
+ readonly keyId: string;
3
+ readonly issuerId: string;
4
+ readonly privateKey: string;
5
+ }
6
+ export type AppStoreConnectTokenFactory = (credentials: AppStoreConnectApiKeyCredentials, now: Date) => Promise<string | null>;
7
+ export declare const createAppStoreConnectToken: AppStoreConnectTokenFactory;
8
+ //# sourceMappingURL=AppStoreConnectTokenFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectTokenFactory.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectTokenFactory.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,WAAW,EAAE,gCAAgC,EAC7C,GAAG,EAAE,IAAI,KACN,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,eAAO,MAAM,0BAA0B,EAAE,2BAexC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { sign } from 'node:crypto';
2
+ export const createAppStoreConnectToken = (credentials, now) => {
3
+ const issuedAt = Math.floor(now.getTime() / 1000);
4
+ const header = encode({ alg: 'ES256', kid: credentials.keyId, typ: 'JWT' });
5
+ const payload = encode({
6
+ iss: credentials.issuerId,
7
+ iat: issuedAt,
8
+ exp: issuedAt + 600,
9
+ aud: 'appstoreconnect-v1',
10
+ });
11
+ const input = `${header}.${payload}`;
12
+ const signature = sign('sha256', Buffer.from(input), {
13
+ key: credentials.privateKey,
14
+ dsaEncoding: 'ieee-p1363',
15
+ });
16
+ return Promise.resolve(`${input}.${signature.toString('base64url')}`);
17
+ };
18
+ function encode(value) {
19
+ return Buffer.from(JSON.stringify(value)).toString('base64url');
20
+ }
21
+ //# sourceMappingURL=AppStoreConnectTokenFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectTokenFactory.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectTokenFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAanC,MAAM,CAAC,MAAM,0BAA0B,GAAgC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC;QACrB,GAAG,EAAE,WAAW,CAAC,QAAQ;QACzB,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,QAAQ,GAAG,GAAG;QACnB,GAAG,EAAE,oBAAoB;KAC1B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACnD,GAAG,EAAE,WAAW,CAAC,UAAU;QAC3B,WAAW,EAAE,YAAY;KAC1B,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,SAAS,MAAM,CAAC,KAAgD;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { sign } from 'node:crypto';\n\nexport interface AppStoreConnectApiKeyCredentials {\n readonly keyId: string;\n readonly issuerId: string;\n readonly privateKey: string;\n}\n\nexport type AppStoreConnectTokenFactory = (\n credentials: AppStoreConnectApiKeyCredentials,\n now: Date,\n) => Promise<string | null>;\n\nexport const createAppStoreConnectToken: AppStoreConnectTokenFactory = (credentials, now) => {\n const issuedAt = Math.floor(now.getTime() / 1000);\n const header = encode({ alg: 'ES256', kid: credentials.keyId, typ: 'JWT' });\n const payload = encode({\n iss: credentials.issuerId,\n iat: issuedAt,\n exp: issuedAt + 600,\n aud: 'appstoreconnect-v1',\n });\n const input = `${header}.${payload}`;\n const signature = sign('sha256', Buffer.from(input), {\n key: credentials.privateKey,\n dsaEncoding: 'ieee-p1363',\n });\n return Promise.resolve(`${input}.${signature.toString('base64url')}`);\n};\n\nfunction encode(value: Readonly<Record<string, string | number>>): string {\n return Buffer.from(JSON.stringify(value)).toString('base64url');\n}\n"]}
@@ -0,0 +1,13 @@
1
+ export interface AppStoreConnectRequest {
2
+ readonly method: 'GET' | 'POST' | 'PATCH';
3
+ readonly url: string;
4
+ readonly token: string;
5
+ readonly body?: string;
6
+ }
7
+ export interface AppStoreConnectResponse {
8
+ readonly status: number;
9
+ readonly body: string;
10
+ }
11
+ export type AppStoreConnectTransport = (request: AppStoreConnectRequest) => Promise<AppStoreConnectResponse>;
12
+ export declare const fetchAppStoreConnect: AppStoreConnectTransport;
13
+ //# sourceMappingURL=AppStoreConnectTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectTransport.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectTransport.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,sBAAsB,KAC5B,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEtC,eAAO,MAAM,oBAAoB,EAAE,wBAYlC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export const fetchAppStoreConnect = async (request) => {
2
+ const headers = {
3
+ Authorization: `Bearer ${request.token}`,
4
+ Accept: 'application/json',
5
+ };
6
+ if (request.body !== undefined)
7
+ headers['Content-Type'] = 'application/json';
8
+ const response = await fetch(request.url, {
9
+ method: request.method,
10
+ headers,
11
+ ...(request.body === undefined ? {} : { body: request.body }),
12
+ });
13
+ return { status: response.status, body: await response.text() };
14
+ };
15
+ //# sourceMappingURL=AppStoreConnectTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreConnectTransport.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreConnectTransport.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,oBAAoB,GAA6B,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9E,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;QACxC,MAAM,EAAE,kBAAkB;KAC3B,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAC9D,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;AAClE,CAAC,CAAC","sourcesContent":["export interface AppStoreConnectRequest {\n readonly method: 'GET' | 'POST' | 'PATCH';\n readonly url: string;\n readonly token: string;\n readonly body?: string;\n}\n\nexport interface AppStoreConnectResponse {\n readonly status: number;\n readonly body: string;\n}\n\nexport type AppStoreConnectTransport = (\n request: AppStoreConnectRequest,\n) => Promise<AppStoreConnectResponse>;\n\nexport const fetchAppStoreConnect: AppStoreConnectTransport = async (request) => {\n const headers: Record<string, string> = {\n Authorization: `Bearer ${request.token}`,\n Accept: 'application/json',\n };\n if (request.body !== undefined) headers['Content-Type'] = 'application/json';\n const response = await fetch(request.url, {\n method: request.method,\n headers,\n ...(request.body === undefined ? {} : { body: request.body }),\n });\n return { status: response.status, body: await response.text() };\n};\n"]}
@@ -0,0 +1,17 @@
1
+ export interface AppStoreUploadHeader {
2
+ readonly name: string;
3
+ readonly value: string;
4
+ }
5
+ export interface AppStoreUploadRequest {
6
+ readonly method: string;
7
+ readonly url: string;
8
+ readonly headers: readonly AppStoreUploadHeader[];
9
+ readonly body: Buffer;
10
+ }
11
+ interface AppStoreUploadResponse {
12
+ readonly status: number;
13
+ }
14
+ export type AppStoreUploadTransport = (request: AppStoreUploadRequest) => Promise<AppStoreUploadResponse>;
15
+ export declare const fetchAppStoreUpload: AppStoreUploadTransport;
16
+ export {};
17
+ //# sourceMappingURL=AppStoreUploadTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreUploadTransport.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreUploadTransport.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,eAAO,MAAM,mBAAmB,EAAE,uBASjC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export const fetchAppStoreUpload = async (request) => {
2
+ const headers = new Headers();
3
+ for (const header of request.headers)
4
+ headers.append(header.name, header.value);
5
+ const response = await fetch(request.url, {
6
+ method: request.method,
7
+ headers,
8
+ body: request.body,
9
+ });
10
+ return { status: response.status };
11
+ };
12
+ //# sourceMappingURL=AppStoreUploadTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStoreUploadTransport.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/AppStoreUploadTransport.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,mBAAmB,GAA4B,KAAK,EAAE,OAAO,EAAE,EAAE;IAC5E,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AACrC,CAAC,CAAC","sourcesContent":["export interface AppStoreUploadHeader {\n readonly name: string;\n readonly value: string;\n}\n\nexport interface AppStoreUploadRequest {\n readonly method: string;\n readonly url: string;\n readonly headers: readonly AppStoreUploadHeader[];\n readonly body: Buffer;\n}\n\ninterface AppStoreUploadResponse {\n readonly status: number;\n}\n\nexport type AppStoreUploadTransport = (\n request: AppStoreUploadRequest,\n) => Promise<AppStoreUploadResponse>;\n\nexport const fetchAppStoreUpload: AppStoreUploadTransport = async (request) => {\n const headers = new Headers();\n for (const header of request.headers) headers.append(header.name, header.value);\n const response = await fetch(request.url, {\n method: request.method,\n headers,\n body: request.body,\n });\n return { status: response.status };\n};\n"]}
@@ -0,0 +1,13 @@
1
+ import type { AppStoreUploadHeader } from './AppStoreUploadTransport';
2
+ export interface BuildUploadOperation {
3
+ readonly offset: number;
4
+ readonly length: number;
5
+ readonly method: string;
6
+ readonly url: string;
7
+ readonly headers: readonly AppStoreUploadHeader[];
8
+ }
9
+ export interface BuildUploadFileReservation {
10
+ readonly fileId: string;
11
+ readonly operations: readonly BuildUploadOperation[];
12
+ }
13
+ //# sourceMappingURL=BuildUploadOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildUploadOperation.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/BuildUploadOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACtD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BuildUploadOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildUploadOperation.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/BuildUploadOperation.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppStoreUploadHeader } from './AppStoreUploadTransport';\n\nexport interface BuildUploadOperation {\n readonly offset: number;\n readonly length: number;\n readonly method: string;\n readonly url: string;\n readonly headers: readonly AppStoreUploadHeader[];\n}\n\nexport interface BuildUploadFileReservation {\n readonly fileId: string;\n readonly operations: readonly BuildUploadOperation[];\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export declare function appStoreConnectAppsUrl(bundleIdentifier: string): string;
2
+ export declare function appStoreConnectVersionsUrl(appId: string): string;
3
+ export declare function appStoreConnectVersionBuildUrl(versionId: string): string;
4
+ export declare function appStoreConnectVersionBuildRelationshipUrl(versionId: string): string;
5
+ export declare function appStoreConnectBuildUploadsUrl(): string;
6
+ export declare function appStoreConnectBuildUploadUrl(buildUploadId: string): string;
7
+ export declare function appStoreConnectBuildUploadFilesUrl(): string;
8
+ export declare function appStoreConnectBuildUploadFileUrl(fileId: string): string;
9
+ export declare function appStoreConnectAppStoreVersionsUrl(): string;
10
+ //# sourceMappingURL=appStoreConnectUrls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appStoreConnectUrls.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/appStoreConnectUrls.ts"],"names":[],"mappings":"AAEA,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAShE;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,0CAA0C,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD;AAED,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D"}
@@ -0,0 +1,42 @@
1
+ const BASE = 'https://api.appstoreconnect.apple.com/v1';
2
+ export function appStoreConnectAppsUrl(bundleIdentifier) {
3
+ const query = new URLSearchParams({
4
+ 'filter[bundleId]': bundleIdentifier,
5
+ 'fields[apps]': 'bundleId',
6
+ limit: '2',
7
+ });
8
+ return `${BASE}/apps?${query.toString()}`;
9
+ }
10
+ export function appStoreConnectVersionsUrl(appId) {
11
+ const query = new URLSearchParams({
12
+ 'filter[platform]': 'IOS',
13
+ 'fields[appStoreVersions]': 'platform,versionString,build',
14
+ 'fields[builds]': 'version,processingState',
15
+ include: 'build',
16
+ limit: '200',
17
+ });
18
+ return `${BASE}/apps/${encodeURIComponent(appId)}/appStoreVersions?${query.toString()}`;
19
+ }
20
+ export function appStoreConnectVersionBuildUrl(versionId) {
21
+ return `${BASE}/appStoreVersions/${encodeURIComponent(versionId)}/build?fields[builds]=version,processingState`;
22
+ }
23
+ export function appStoreConnectVersionBuildRelationshipUrl(versionId) {
24
+ return `${BASE}/appStoreVersions/${encodeURIComponent(versionId)}/relationships/build`;
25
+ }
26
+ export function appStoreConnectBuildUploadsUrl() {
27
+ return `${BASE}/buildUploads`;
28
+ }
29
+ export function appStoreConnectBuildUploadUrl(buildUploadId) {
30
+ const id = encodeURIComponent(buildUploadId);
31
+ return `${BASE}/buildUploads/${id}?include=build&fields[builds]=version,processingState`;
32
+ }
33
+ export function appStoreConnectBuildUploadFilesUrl() {
34
+ return `${BASE}/buildUploadFiles`;
35
+ }
36
+ export function appStoreConnectBuildUploadFileUrl(fileId) {
37
+ return `${BASE}/buildUploadFiles/${encodeURIComponent(fileId)}`;
38
+ }
39
+ export function appStoreConnectAppStoreVersionsUrl() {
40
+ return `${BASE}/appStoreVersions`;
41
+ }
42
+ //# sourceMappingURL=appStoreConnectUrls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appStoreConnectUrls.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/appStoreConnectUrls.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,0CAA0C,CAAC;AAExD,MAAM,UAAU,sBAAsB,CAAC,gBAAwB;IAC7D,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;QAChC,kBAAkB,EAAE,gBAAgB;QACpC,cAAc,EAAE,UAAU;QAC1B,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,OAAO,GAAG,IAAI,SAAS,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;QAChC,kBAAkB,EAAE,KAAK;QACzB,0BAA0B,EAAE,8BAA8B;QAC1D,gBAAgB,EAAE,yBAAyB;QAC3C,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,OAAO,GAAG,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,SAAiB;IAC9D,OAAO,GAAG,IAAI,qBAAqB,kBAAkB,CAAC,SAAS,CAAC,+CAA+C,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,SAAiB;IAC1E,OAAO,GAAG,IAAI,qBAAqB,kBAAkB,CAAC,SAAS,CAAC,sBAAsB,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,GAAG,IAAI,eAAe,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,aAAqB;IACjE,MAAM,EAAE,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC7C,OAAO,GAAG,IAAI,iBAAiB,EAAE,uDAAuD,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,kCAAkC;IAChD,OAAO,GAAG,IAAI,mBAAmB,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAAc;IAC9D,OAAO,GAAG,IAAI,qBAAqB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kCAAkC;IAChD,OAAO,GAAG,IAAI,mBAAmB,CAAC;AACpC,CAAC","sourcesContent":["const BASE = 'https://api.appstoreconnect.apple.com/v1';\n\nexport function appStoreConnectAppsUrl(bundleIdentifier: string): string {\n const query = new URLSearchParams({\n 'filter[bundleId]': bundleIdentifier,\n 'fields[apps]': 'bundleId',\n limit: '2',\n });\n return `${BASE}/apps?${query.toString()}`;\n}\n\nexport function appStoreConnectVersionsUrl(appId: string): string {\n const query = new URLSearchParams({\n 'filter[platform]': 'IOS',\n 'fields[appStoreVersions]': 'platform,versionString,build',\n 'fields[builds]': 'version,processingState',\n include: 'build',\n limit: '200',\n });\n return `${BASE}/apps/${encodeURIComponent(appId)}/appStoreVersions?${query.toString()}`;\n}\n\nexport function appStoreConnectVersionBuildUrl(versionId: string): string {\n return `${BASE}/appStoreVersions/${encodeURIComponent(versionId)}/build?fields[builds]=version,processingState`;\n}\n\nexport function appStoreConnectVersionBuildRelationshipUrl(versionId: string): string {\n return `${BASE}/appStoreVersions/${encodeURIComponent(versionId)}/relationships/build`;\n}\n\nexport function appStoreConnectBuildUploadsUrl(): string {\n return `${BASE}/buildUploads`;\n}\n\nexport function appStoreConnectBuildUploadUrl(buildUploadId: string): string {\n const id = encodeURIComponent(buildUploadId);\n return `${BASE}/buildUploads/${id}?include=build&fields[builds]=version,processingState`;\n}\n\nexport function appStoreConnectBuildUploadFilesUrl(): string {\n return `${BASE}/buildUploadFiles`;\n}\n\nexport function appStoreConnectBuildUploadFileUrl(fileId: string): string {\n return `${BASE}/buildUploadFiles/${encodeURIComponent(fileId)}`;\n}\n\nexport function appStoreConnectAppStoreVersionsUrl(): string {\n return `${BASE}/appStoreVersions`;\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
2
+ export declare function attachAppStoreVersionBuild(options: {
3
+ readonly versionId: string;
4
+ readonly buildId: string;
5
+ readonly token: string;
6
+ readonly request: AppStoreConnectTransport;
7
+ }): Promise<boolean>;
8
+ //# sourceMappingURL=attachAppStoreVersionBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachAppStoreVersionBuild.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/attachAppStoreVersionBuild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,wBAAsB,0BAA0B,CAAC,OAAO,EAAE;IACxD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C,GAAG,OAAO,CAAC,OAAO,CAAC,CASnB"}
@@ -0,0 +1,12 @@
1
+ import { appStoreConnectVersionBuildRelationshipUrl } from './appStoreConnectUrls';
2
+ export async function attachAppStoreVersionBuild(options) {
3
+ const body = JSON.stringify({ data: { type: 'builds', id: options.buildId } });
4
+ const response = await options.request({
5
+ method: 'PATCH',
6
+ url: appStoreConnectVersionBuildRelationshipUrl(options.versionId),
7
+ token: options.token,
8
+ body,
9
+ });
10
+ return response.status >= 200 && response.status < 300;
11
+ }
12
+ //# sourceMappingURL=attachAppStoreVersionBuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachAppStoreVersionBuild.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/attachAppStoreVersionBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0CAA0C,EAAE,MAAM,uBAAuB,CAAC;AAEnF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAKhD;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QACrC,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,0CAA0C,CAAC,OAAO,CAAC,SAAS,CAAC;QAClE,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI;KACL,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;AACzD,CAAC","sourcesContent":["import type { AppStoreConnectTransport } from './AppStoreConnectTransport';\nimport { appStoreConnectVersionBuildRelationshipUrl } from './appStoreConnectUrls';\n\nexport async function attachAppStoreVersionBuild(options: {\n readonly versionId: string;\n readonly buildId: string;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n}): Promise<boolean> {\n const body = JSON.stringify({ data: { type: 'builds', id: options.buildId } });\n const response = await options.request({\n method: 'PATCH',\n url: appStoreConnectVersionBuildRelationshipUrl(options.versionId),\n token: options.token,\n body,\n });\n return response.status >= 200 && response.status < 300;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
2
+ export declare function commitAppStoreBuildUploadFile(options: {
3
+ readonly fileId: string;
4
+ readonly token: string;
5
+ readonly request: AppStoreConnectTransport;
6
+ }): Promise<boolean>;
7
+ //# sourceMappingURL=commitAppStoreBuildUploadFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitAppStoreBuildUploadFile.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/commitAppStoreBuildUploadFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C,GAAG,OAAO,CAAC,OAAO,CAAC,CAenB"}
@@ -0,0 +1,18 @@
1
+ import { appStoreConnectBuildUploadFileUrl } from './appStoreConnectUrls';
2
+ export async function commitAppStoreBuildUploadFile(options) {
3
+ const body = JSON.stringify({
4
+ data: {
5
+ type: 'buildUploadFiles',
6
+ id: options.fileId,
7
+ attributes: { uploaded: true },
8
+ },
9
+ });
10
+ const response = await options.request({
11
+ method: 'PATCH',
12
+ url: appStoreConnectBuildUploadFileUrl(options.fileId),
13
+ token: options.token,
14
+ body,
15
+ });
16
+ return response.status >= 200 && response.status < 300;
17
+ }
18
+ //# sourceMappingURL=commitAppStoreBuildUploadFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitAppStoreBuildUploadFile.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/commitAppStoreBuildUploadFile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,OAInD;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,IAAI,EAAE;YACJ,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,OAAO,CAAC,MAAM;YAClB,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC/B;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QACrC,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,iCAAiC,CAAC,OAAO,CAAC,MAAM,CAAC;QACtD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI;KACL,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;AACzD,CAAC","sourcesContent":["import type { AppStoreConnectTransport } from './AppStoreConnectTransport';\nimport { appStoreConnectBuildUploadFileUrl } from './appStoreConnectUrls';\n\nexport async function commitAppStoreBuildUploadFile(options: {\n readonly fileId: string;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n}): Promise<boolean> {\n const body = JSON.stringify({\n data: {\n type: 'buildUploadFiles',\n id: options.fileId,\n attributes: { uploaded: true },\n },\n });\n const response = await options.request({\n method: 'PATCH',\n url: appStoreConnectBuildUploadFileUrl(options.fileId),\n token: options.token,\n body,\n });\n return response.status >= 200 && response.status < 300;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
2
+ export declare function createAppStoreBuildUpload(options: {
3
+ readonly appId: string;
4
+ readonly version: string;
5
+ readonly buildNumber: string;
6
+ readonly token: string;
7
+ readonly request: AppStoreConnectTransport;
8
+ }): Promise<string | null>;
9
+ //# sourceMappingURL=createAppStoreBuildUpload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAppStoreBuildUpload.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/createAppStoreBuildUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBzB"}
@@ -0,0 +1,41 @@
1
+ import { appStoreConnectBuildUploadsUrl } from './appStoreConnectUrls';
2
+ export async function createAppStoreBuildUpload(options) {
3
+ const body = JSON.stringify({
4
+ data: {
5
+ type: 'buildUploads',
6
+ attributes: {
7
+ cfBundleShortVersionString: options.version,
8
+ cfBundleVersion: options.buildNumber,
9
+ platform: 'IOS',
10
+ },
11
+ relationships: { app: { data: { type: 'apps', id: options.appId } } },
12
+ },
13
+ });
14
+ const response = await options.request({
15
+ method: 'POST',
16
+ url: appStoreConnectBuildUploadsUrl(),
17
+ token: options.token,
18
+ body,
19
+ });
20
+ if (response.status !== 201)
21
+ return null;
22
+ return parseResourceId(response.body, 'buildUploads');
23
+ }
24
+ function parseResourceId(body, type) {
25
+ try {
26
+ const value = JSON.parse(body);
27
+ if (!isRecord(value) || !isRecord(value.data))
28
+ return null;
29
+ return value.data.type === type && isNonEmptyString(value.data.id) ? value.data.id : null;
30
+ }
31
+ catch {
32
+ return null;
33
+ }
34
+ }
35
+ function isRecord(value) {
36
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
37
+ }
38
+ function isNonEmptyString(value) {
39
+ return typeof value === 'string' && value.trim().length > 0;
40
+ }
41
+ //# sourceMappingURL=createAppStoreBuildUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAppStoreBuildUpload.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/createAppStoreBuildUpload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAM/C;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,IAAI,EAAE;YACJ,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE;gBACV,0BAA0B,EAAE,OAAO,CAAC,OAAO;gBAC3C,eAAe,EAAE,OAAO,CAAC,WAAW;gBACpC,QAAQ,EAAE,KAAK;aAChB;YACD,aAAa,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE;SACtE;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QACrC,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,8BAA8B,EAAE;QACrC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI;KACL,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,IAAY;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC","sourcesContent":["import type { AppStoreConnectTransport } from './AppStoreConnectTransport';\nimport { appStoreConnectBuildUploadsUrl } from './appStoreConnectUrls';\n\nexport async function createAppStoreBuildUpload(options: {\n readonly appId: string;\n readonly version: string;\n readonly buildNumber: string;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n}): Promise<string | null> {\n const body = JSON.stringify({\n data: {\n type: 'buildUploads',\n attributes: {\n cfBundleShortVersionString: options.version,\n cfBundleVersion: options.buildNumber,\n platform: 'IOS',\n },\n relationships: { app: { data: { type: 'apps', id: options.appId } } },\n },\n });\n const response = await options.request({\n method: 'POST',\n url: appStoreConnectBuildUploadsUrl(),\n token: options.token,\n body,\n });\n if (response.status !== 201) return null;\n return parseResourceId(response.body, 'buildUploads');\n}\n\nfunction parseResourceId(body: string, type: string): string | null {\n try {\n const value = JSON.parse(body) as unknown;\n if (!isRecord(value) || !isRecord(value.data)) return null;\n return value.data.type === type && isNonEmptyString(value.data.id) ? value.data.id : null;\n } catch {\n return null;\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isNonEmptyString(value: unknown): value is string {\n return typeof value === 'string' && value.trim().length > 0;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { DeploymentProviderSetupAdapter } from '../../domain/DeploymentProviderSetupAdapter';
2
+ import type { AppStoreConnectTokenFactory } from './AppStoreConnectTokenFactory';
3
+ export declare function createAppStoreConnectSetupAdapter(options: {
4
+ readonly createToken: AppStoreConnectTokenFactory;
5
+ readonly now: () => Date;
6
+ }): DeploymentProviderSetupAdapter;
7
+ //# sourceMappingURL=createAppStoreConnectSetupAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAppStoreConnectSetupAdapter.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/createAppStoreConnectSetupAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAElG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAGjF,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B,GAAG,8BAA8B,CAYjC"}