@ankhorage/deploy 0.2.0 → 0.4.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 (268) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -2
  3. package/dist/domain/DeploymentAuthenticationState.d.ts +8 -0
  4. package/dist/domain/DeploymentAuthenticationState.d.ts.map +1 -0
  5. package/dist/domain/DeploymentAuthenticationState.js +2 -0
  6. package/dist/domain/DeploymentAuthenticationState.js.map +1 -0
  7. package/dist/domain/DeploymentCredentialReference.d.ts +6 -0
  8. package/dist/domain/DeploymentCredentialReference.d.ts.map +1 -0
  9. package/dist/domain/DeploymentCredentialReference.js +2 -0
  10. package/dist/domain/DeploymentCredentialReference.js.map +1 -0
  11. package/dist/domain/DeploymentCurrentState.d.ts +6 -3
  12. package/dist/domain/DeploymentCurrentState.d.ts.map +1 -1
  13. package/dist/domain/DeploymentCurrentState.js.map +1 -1
  14. package/dist/domain/DeploymentDesiredRevisions.d.ts +3 -0
  15. package/dist/domain/DeploymentDesiredRevisions.d.ts.map +1 -0
  16. package/dist/domain/DeploymentDesiredRevisions.js +2 -0
  17. package/dist/domain/DeploymentDesiredRevisions.js.map +1 -0
  18. package/dist/domain/DeploymentProviderCapabilityState.d.ts +7 -0
  19. package/dist/domain/DeploymentProviderCapabilityState.d.ts.map +1 -0
  20. package/dist/domain/DeploymentProviderCapabilityState.js +2 -0
  21. package/dist/domain/DeploymentProviderCapabilityState.js.map +1 -0
  22. package/dist/domain/DeploymentProviderSetupAdapter.d.ts +7 -0
  23. package/dist/domain/DeploymentProviderSetupAdapter.d.ts.map +1 -0
  24. package/dist/domain/DeploymentProviderSetupAdapter.js +2 -0
  25. package/dist/domain/DeploymentProviderSetupAdapter.js.map +1 -0
  26. package/dist/domain/DeploymentProviderSetupContext.d.ts +9 -0
  27. package/dist/domain/DeploymentProviderSetupContext.d.ts.map +1 -0
  28. package/dist/domain/DeploymentProviderSetupContext.js +2 -0
  29. package/dist/domain/DeploymentProviderSetupContext.js.map +1 -0
  30. package/dist/domain/DeploymentProviderSetupInspection.d.ts +10 -0
  31. package/dist/domain/DeploymentProviderSetupInspection.d.ts.map +1 -0
  32. package/dist/domain/DeploymentProviderSetupInspection.js +2 -0
  33. package/dist/domain/DeploymentProviderSetupInspection.js.map +1 -0
  34. package/dist/domain/DeploymentProviderSetupInspectionResult.d.ts +10 -0
  35. package/dist/domain/DeploymentProviderSetupInspectionResult.d.ts.map +1 -0
  36. package/dist/domain/DeploymentProviderSetupInspectionResult.js +2 -0
  37. package/dist/domain/DeploymentProviderSetupInspectionResult.js.map +1 -0
  38. package/dist/domain/DeploymentProvisioningRequirement.d.ts +18 -0
  39. package/dist/domain/DeploymentProvisioningRequirement.d.ts.map +1 -0
  40. package/dist/domain/DeploymentProvisioningRequirement.js +2 -0
  41. package/dist/domain/DeploymentProvisioningRequirement.js.map +1 -0
  42. package/dist/domain/DeploymentSecretResolver.d.ts +4 -0
  43. package/dist/domain/DeploymentSecretResolver.d.ts.map +1 -0
  44. package/dist/domain/DeploymentSecretResolver.js +2 -0
  45. package/dist/domain/DeploymentSecretResolver.js.map +1 -0
  46. package/dist/domain/DeploymentTargetChange.d.ts +1 -1
  47. package/dist/domain/DeploymentTargetChange.d.ts.map +1 -1
  48. package/dist/domain/DeploymentTargetChange.js +1 -0
  49. package/dist/domain/DeploymentTargetChange.js.map +1 -1
  50. package/dist/domain/WebDeploymentPublication.d.ts +9 -0
  51. package/dist/domain/WebDeploymentPublication.d.ts.map +1 -0
  52. package/dist/domain/WebDeploymentPublication.js +2 -0
  53. package/dist/domain/WebDeploymentPublication.js.map +1 -0
  54. package/dist/domain/WebDeploymentPublishIntent.d.ts +6 -0
  55. package/dist/domain/WebDeploymentPublishIntent.d.ts.map +1 -0
  56. package/dist/domain/WebDeploymentPublishIntent.js +2 -0
  57. package/dist/domain/WebDeploymentPublishIntent.js.map +1 -0
  58. package/dist/engine/createDeploymentChanges.d.ts +2 -0
  59. package/dist/engine/createDeploymentChanges.d.ts.map +1 -1
  60. package/dist/engine/createDeploymentChanges.js +22 -7
  61. package/dist/engine/createDeploymentChanges.js.map +1 -1
  62. package/dist/engine/createDeploymentPlan.d.ts +2 -0
  63. package/dist/engine/createDeploymentPlan.d.ts.map +1 -1
  64. package/dist/engine/createDeploymentPlan.js.map +1 -1
  65. package/dist/engine/inspectDeploymentProviderSetup.d.ts +8 -0
  66. package/dist/engine/inspectDeploymentProviderSetup.d.ts.map +1 -0
  67. package/dist/engine/inspectDeploymentProviderSetup.js +21 -0
  68. package/dist/engine/inspectDeploymentProviderSetup.js.map +1 -0
  69. package/dist/engine/providerSetup/containsTrackedSecret.d.ts +2 -0
  70. package/dist/engine/providerSetup/containsTrackedSecret.d.ts.map +1 -0
  71. package/dist/engine/providerSetup/containsTrackedSecret.js +12 -0
  72. package/dist/engine/providerSetup/containsTrackedSecret.js.map +1 -0
  73. package/dist/engine/providerSetup/createProviderSetupContext.d.ts +4 -0
  74. package/dist/engine/providerSetup/createProviderSetupContext.d.ts.map +1 -0
  75. package/dist/engine/providerSetup/createProviderSetupContext.js +4 -0
  76. package/dist/engine/providerSetup/createProviderSetupContext.js.map +1 -0
  77. package/dist/engine/providerSetup/createProviderSetupFailure.d.ts +4 -0
  78. package/dist/engine/providerSetup/createProviderSetupFailure.d.ts.map +1 -0
  79. package/dist/engine/providerSetup/createProviderSetupFailure.js +10 -0
  80. package/dist/engine/providerSetup/createProviderSetupFailure.js.map +1 -0
  81. package/dist/engine/providerSetup/createTrackedSecretResolver.d.ts +7 -0
  82. package/dist/engine/providerSetup/createTrackedSecretResolver.d.ts.map +1 -0
  83. package/dist/engine/providerSetup/createTrackedSecretResolver.js +13 -0
  84. package/dist/engine/providerSetup/createTrackedSecretResolver.js.map +1 -0
  85. package/dist/engine/providerSetup/isAppDeployTargetId.d.ts +3 -0
  86. package/dist/engine/providerSetup/isAppDeployTargetId.d.ts.map +1 -0
  87. package/dist/engine/providerSetup/isAppDeployTargetId.js +5 -0
  88. package/dist/engine/providerSetup/isAppDeployTargetId.js.map +1 -0
  89. package/dist/engine/providerSetup/isNonEmptyString.d.ts +2 -0
  90. package/dist/engine/providerSetup/isNonEmptyString.d.ts.map +1 -0
  91. package/dist/engine/providerSetup/isNonEmptyString.js +4 -0
  92. package/dist/engine/providerSetup/isNonEmptyString.js.map +1 -0
  93. package/dist/engine/providerSetup/isRecord.d.ts +2 -0
  94. package/dist/engine/providerSetup/isRecord.d.ts.map +1 -0
  95. package/dist/engine/providerSetup/isRecord.js +4 -0
  96. package/dist/engine/providerSetup/isRecord.js.map +1 -0
  97. package/dist/engine/providerSetup/normalizeAuthenticationAction.d.ts +3 -0
  98. package/dist/engine/providerSetup/normalizeAuthenticationAction.d.ts.map +1 -0
  99. package/dist/engine/providerSetup/normalizeAuthenticationAction.js +21 -0
  100. package/dist/engine/providerSetup/normalizeAuthenticationAction.js.map +1 -0
  101. package/dist/engine/providerSetup/normalizeAuthenticationState.d.ts +3 -0
  102. package/dist/engine/providerSetup/normalizeAuthenticationState.d.ts.map +1 -0
  103. package/dist/engine/providerSetup/normalizeAuthenticationState.js +13 -0
  104. package/dist/engine/providerSetup/normalizeAuthenticationState.js.map +1 -0
  105. package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.d.ts +3 -0
  106. package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.d.ts.map +1 -0
  107. package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.js +23 -0
  108. package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.js.map +1 -0
  109. package/dist/engine/providerSetup/normalizeCredentialReferences.d.ts +3 -0
  110. package/dist/engine/providerSetup/normalizeCredentialReferences.d.ts.map +1 -0
  111. package/dist/engine/providerSetup/normalizeCredentialReferences.js +18 -0
  112. package/dist/engine/providerSetup/normalizeCredentialReferences.js.map +1 -0
  113. package/dist/engine/providerSetup/normalizeManualAction.d.ts +3 -0
  114. package/dist/engine/providerSetup/normalizeManualAction.d.ts.map +1 -0
  115. package/dist/engine/providerSetup/normalizeManualAction.js +23 -0
  116. package/dist/engine/providerSetup/normalizeManualAction.js.map +1 -0
  117. package/dist/engine/providerSetup/normalizeProviderCapabilityStates.d.ts +3 -0
  118. package/dist/engine/providerSetup/normalizeProviderCapabilityStates.d.ts.map +1 -0
  119. package/dist/engine/providerSetup/normalizeProviderCapabilityStates.js +31 -0
  120. package/dist/engine/providerSetup/normalizeProviderCapabilityStates.js.map +1 -0
  121. package/dist/engine/providerSetup/normalizeProviderSetupInspection.d.ts +10 -0
  122. package/dist/engine/providerSetup/normalizeProviderSetupInspection.d.ts.map +1 -0
  123. package/dist/engine/providerSetup/normalizeProviderSetupInspection.js +25 -0
  124. package/dist/engine/providerSetup/normalizeProviderSetupInspection.js.map +1 -0
  125. package/dist/engine/providerSetup/normalizeProvisioningRequirements.d.ts +3 -0
  126. package/dist/engine/providerSetup/normalizeProvisioningRequirements.d.ts.map +1 -0
  127. package/dist/engine/providerSetup/normalizeProvisioningRequirements.js +31 -0
  128. package/dist/engine/providerSetup/normalizeProvisioningRequirements.js.map +1 -0
  129. package/dist/engine/providerSetup/prepareProviderSetupInspection.d.ts +16 -0
  130. package/dist/engine/providerSetup/prepareProviderSetupInspection.d.ts.map +1 -0
  131. package/dist/engine/providerSetup/prepareProviderSetupInspection.js +32 -0
  132. package/dist/engine/providerSetup/prepareProviderSetupInspection.js.map +1 -0
  133. package/dist/engine/targetSnapshot.d.ts +2 -2
  134. package/dist/engine/targetSnapshot.d.ts.map +1 -1
  135. package/dist/engine/targetSnapshot.js +14 -9
  136. package/dist/engine/targetSnapshot.js.map +1 -1
  137. package/dist/index.d.ts +13 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +13 -0
  140. package/dist/index.js.map +1 -1
  141. package/dist/project/history/validation/observedTarget.d.ts.map +1 -1
  142. package/dist/project/history/validation/observedTarget.js +13 -6
  143. package/dist/project/history/validation/observedTarget.js.map +1 -1
  144. package/dist/project/index.d.ts +6 -0
  145. package/dist/project/index.d.ts.map +1 -1
  146. package/dist/project/index.js +3 -0
  147. package/dist/project/index.js.map +1 -1
  148. package/dist/project/web/ProjectWebDeploymentAccess.d.ts +7 -0
  149. package/dist/project/web/ProjectWebDeploymentAccess.d.ts.map +1 -0
  150. package/dist/project/web/ProjectWebDeploymentAccess.js +2 -0
  151. package/dist/project/web/ProjectWebDeploymentAccess.js.map +1 -0
  152. package/dist/project/web/ProjectWebDeploymentExecution.d.ts +12 -0
  153. package/dist/project/web/ProjectWebDeploymentExecution.d.ts.map +1 -0
  154. package/dist/project/web/ProjectWebDeploymentExecution.js +2 -0
  155. package/dist/project/web/ProjectWebDeploymentExecution.js.map +1 -0
  156. package/dist/project/web/ProjectWebDeploymentInspection.d.ts +19 -0
  157. package/dist/project/web/ProjectWebDeploymentInspection.d.ts.map +1 -0
  158. package/dist/project/web/ProjectWebDeploymentInspection.js +2 -0
  159. package/dist/project/web/ProjectWebDeploymentInspection.js.map +1 -0
  160. package/dist/project/web/ProjectWebDeploymentRuntime.d.ts +9 -0
  161. package/dist/project/web/ProjectWebDeploymentRuntime.d.ts.map +1 -0
  162. package/dist/project/web/ProjectWebDeploymentRuntime.js +8 -0
  163. package/dist/project/web/ProjectWebDeploymentRuntime.js.map +1 -0
  164. package/dist/project/web/ProjectWebExecutionState.d.ts +9 -0
  165. package/dist/project/web/ProjectWebExecutionState.d.ts.map +1 -0
  166. package/dist/project/web/ProjectWebExecutionState.js +2 -0
  167. package/dist/project/web/ProjectWebExecutionState.js.map +1 -0
  168. package/dist/project/web/areDeploymentPlansEqual.d.ts +3 -0
  169. package/dist/project/web/areDeploymentPlansEqual.d.ts.map +1 -0
  170. package/dist/project/web/areDeploymentPlansEqual.js +4 -0
  171. package/dist/project/web/areDeploymentPlansEqual.js.map +1 -0
  172. package/dist/project/web/createProjectWebDeploymentPlan.d.ts +4 -0
  173. package/dist/project/web/createProjectWebDeploymentPlan.d.ts.map +1 -0
  174. package/dist/project/web/createProjectWebDeploymentPlan.js +13 -0
  175. package/dist/project/web/createProjectWebDeploymentPlan.js.map +1 -0
  176. package/dist/project/web/executeProjectWebDeployment.d.ts +14 -0
  177. package/dist/project/web/executeProjectWebDeployment.d.ts.map +1 -0
  178. package/dist/project/web/executeProjectWebDeployment.js +118 -0
  179. package/dist/project/web/executeProjectWebDeployment.js.map +1 -0
  180. package/dist/project/web/executeProjectWebStep.d.ts +16 -0
  181. package/dist/project/web/executeProjectWebStep.d.ts.map +1 -0
  182. package/dist/project/web/executeProjectWebStep.js +80 -0
  183. package/dist/project/web/executeProjectWebStep.js.map +1 -0
  184. package/dist/project/web/inspectProjectWebDeployment.d.ts +9 -0
  185. package/dist/project/web/inspectProjectWebDeployment.d.ts.map +1 -0
  186. package/dist/project/web/inspectProjectWebDeployment.js +56 -0
  187. package/dist/project/web/inspectProjectWebDeployment.js.map +1 -0
  188. package/dist/project/web/inspectProjectWebSetup.d.ts +5 -0
  189. package/dist/project/web/inspectProjectWebSetup.d.ts.map +1 -0
  190. package/dist/project/web/inspectProjectWebSetup.js +9 -0
  191. package/dist/project/web/inspectProjectWebSetup.js.map +1 -0
  192. package/dist/project/web/normalizeProjectWebDesired.d.ts +12 -0
  193. package/dist/project/web/normalizeProjectWebDesired.d.ts.map +1 -0
  194. package/dist/project/web/normalizeProjectWebDesired.js +20 -0
  195. package/dist/project/web/normalizeProjectWebDesired.js.map +1 -0
  196. package/dist/project/web/readCurrentProjectWebDeployment.d.ts +3 -0
  197. package/dist/project/web/readCurrentProjectWebDeployment.d.ts.map +1 -0
  198. package/dist/project/web/readCurrentProjectWebDeployment.js +24 -0
  199. package/dist/project/web/readCurrentProjectWebDeployment.js.map +1 -0
  200. package/dist/project/web/recordProjectWebDeployment.d.ts +19 -0
  201. package/dist/project/web/recordProjectWebDeployment.d.ts.map +1 -0
  202. package/dist/project/web/recordProjectWebDeployment.js +36 -0
  203. package/dist/project/web/recordProjectWebDeployment.js.map +1 -0
  204. package/dist/project/web/resolveProjectWebDeploymentAccess.d.ts +9 -0
  205. package/dist/project/web/resolveProjectWebDeploymentAccess.d.ts.map +1 -0
  206. package/dist/project/web/resolveProjectWebDeploymentAccess.js +7 -0
  207. package/dist/project/web/resolveProjectWebDeploymentAccess.js.map +1 -0
  208. package/dist/project/web/setupBlockingOutcome.d.ts +4 -0
  209. package/dist/project/web/setupBlockingOutcome.d.ts.map +1 -0
  210. package/dist/project/web/setupBlockingOutcome.js +34 -0
  211. package/dist/project/web/setupBlockingOutcome.js.map +1 -0
  212. package/dist/providers/eas/createEasHostingSetupAdapter.d.ts +7 -0
  213. package/dist/providers/eas/createEasHostingSetupAdapter.d.ts.map +1 -0
  214. package/dist/providers/eas/createEasHostingSetupAdapter.js +76 -0
  215. package/dist/providers/eas/createEasHostingSetupAdapter.js.map +1 -0
  216. package/dist/providers/eas/parseEasWebPublication.d.ts +3 -0
  217. package/dist/providers/eas/parseEasWebPublication.d.ts.map +1 -0
  218. package/dist/providers/eas/parseEasWebPublication.js +31 -0
  219. package/dist/providers/eas/parseEasWebPublication.js.map +1 -0
  220. package/dist/providers/eas/publishWebToEas.d.ts +27 -0
  221. package/dist/providers/eas/publishWebToEas.d.ts.map +1 -0
  222. package/dist/providers/eas/publishWebToEas.js +52 -0
  223. package/dist/providers/eas/publishWebToEas.js.map +1 -0
  224. package/dist/providers/eas/resolveEasProcessEnvironment.d.ts +15 -0
  225. package/dist/providers/eas/resolveEasProcessEnvironment.d.ts.map +1 -0
  226. package/dist/providers/eas/resolveEasProcessEnvironment.js +26 -0
  227. package/dist/providers/eas/resolveEasProcessEnvironment.js.map +1 -0
  228. package/dist/runtime/http/DeploymentHttpProbe.d.ts +6 -0
  229. package/dist/runtime/http/DeploymentHttpProbe.d.ts.map +1 -0
  230. package/dist/runtime/http/DeploymentHttpProbe.js +2 -0
  231. package/dist/runtime/http/DeploymentHttpProbe.js.map +1 -0
  232. package/dist/runtime/http/probeDeploymentHttp.d.ts +3 -0
  233. package/dist/runtime/http/probeDeploymentHttp.d.ts.map +1 -0
  234. package/dist/runtime/http/probeDeploymentHttp.js +5 -0
  235. package/dist/runtime/http/probeDeploymentHttp.js.map +1 -0
  236. package/dist/runtime/process/DeploymentProcessRunner.d.ts +13 -0
  237. package/dist/runtime/process/DeploymentProcessRunner.d.ts.map +1 -0
  238. package/dist/runtime/process/DeploymentProcessRunner.js +2 -0
  239. package/dist/runtime/process/DeploymentProcessRunner.js.map +1 -0
  240. package/dist/runtime/process/runDeploymentProcess.d.ts +3 -0
  241. package/dist/runtime/process/runDeploymentProcess.d.ts.map +1 -0
  242. package/dist/runtime/process/runDeploymentProcess.js +29 -0
  243. package/dist/runtime/process/runDeploymentProcess.js.map +1 -0
  244. package/dist/targets/web/PreparedWebArtifact.d.ts +5 -0
  245. package/dist/targets/web/PreparedWebArtifact.d.ts.map +1 -0
  246. package/dist/targets/web/PreparedWebArtifact.js +2 -0
  247. package/dist/targets/web/PreparedWebArtifact.js.map +1 -0
  248. package/dist/targets/web/createWebTargetPlanContributor.d.ts +3 -0
  249. package/dist/targets/web/createWebTargetPlanContributor.d.ts.map +1 -0
  250. package/dist/targets/web/createWebTargetPlanContributor.js +32 -0
  251. package/dist/targets/web/createWebTargetPlanContributor.js.map +1 -0
  252. package/dist/targets/web/hashWebExport.d.ts +2 -0
  253. package/dist/targets/web/hashWebExport.d.ts.map +1 -0
  254. package/dist/targets/web/hashWebExport.js +30 -0
  255. package/dist/targets/web/hashWebExport.js.map +1 -0
  256. package/dist/targets/web/normalizeWebProviders.d.ts +16 -0
  257. package/dist/targets/web/normalizeWebProviders.d.ts.map +1 -0
  258. package/dist/targets/web/normalizeWebProviders.js +16 -0
  259. package/dist/targets/web/normalizeWebProviders.js.map +1 -0
  260. package/dist/targets/web/prepareWebArtifact.d.ts +16 -0
  261. package/dist/targets/web/prepareWebArtifact.d.ts.map +1 -0
  262. package/dist/targets/web/prepareWebArtifact.js +46 -0
  263. package/dist/targets/web/prepareWebArtifact.js.map +1 -0
  264. package/dist/targets/web/verifyWebPublication.d.ts +5 -0
  265. package/dist/targets/web/verifyWebPublication.d.ts.map +1 -0
  266. package/dist/targets/web/verifyWebPublication.js +25 -0
  267. package/dist/targets/web/verifyWebPublication.js.map +1 -0
  268. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupBlockingOutcome.js","sourceRoot":"","sources":["../../../src/project/web/setupBlockingOutcome.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAClC,MAA+C;IAE/C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACnE,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACxF,CAAC;IACD,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAClF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;QACnE,CAAC;QACD,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE;gBACL,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,0EAA0E;gBACnF,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B;SACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CACjD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CACpD,CAAC;IACF,OAAO,OAAO,EAAE,MAAM,KAAK,WAAW;QACpC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC;YACE,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE;gBACL,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,8CAA8C;gBACvD,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;aACrC;SACF,CAAC;AACR,CAAC","sourcesContent":["import type { DeploymentProviderSetupInspectionResult } from '../../domain/DeploymentProviderSetupInspectionResult';\nimport type { DeploymentStepOutcome } from '../../domain/DeploymentStepOutcome';\n\nexport function setupBlockingOutcome(\n result: DeploymentProviderSetupInspectionResult,\n): DeploymentStepOutcome | null {\n if (!result.ok) return { status: 'failed', error: result.failure };\n if (result.inspection.authentication.status === 'required') {\n return { status: 'action-required', action: result.inspection.authentication.action };\n }\n for (const requirement of result.inspection.provisioning) {\n if (requirement.type === 'authentication' || requirement.type === 'manual-action') {\n return { status: 'action-required', action: requirement.action };\n }\n return {\n status: 'failed',\n error: {\n code: 'WEB_SETUP_INCOMPLETE',\n message: 'Web deployment setup requires automated provisioning before publication.',\n target: 'web',\n provider: requirement.provider,\n },\n };\n }\n const publish = result.inspection.capabilities.find(\n (capability) => capability.capability === 'publish',\n );\n return publish?.status === 'available'\n ? null\n : {\n status: 'failed',\n error: {\n code: 'WEB_PUBLISH_UNAVAILABLE',\n message: 'The Web publish capability is not available.',\n target: 'web',\n provider: result.inspection.provider,\n },\n };\n}\n"]}
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,76 @@
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
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,3 @@
1
+ import type { WebDeploymentPublication } from '../../domain/WebDeploymentPublication';
2
+ export declare function parseEasWebPublication(value: unknown, revision: string, production: boolean): WebDeploymentPublication | null;
3
+ //# sourceMappingURL=parseEasWebPublication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseEasWebPublication.d.ts","sourceRoot":"","sources":["../../../src/providers/eas/parseEasWebPublication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,GAClB,wBAAwB,GAAG,IAAI,CAYjC"}
@@ -0,0 +1,31 @@
1
+ export function parseEasWebPublication(value, revision, production) {
2
+ if (!isRecord(value) || !isNonEmptyString(value.identifier) || !isHttpUrl(value.url)) {
3
+ return null;
4
+ }
5
+ return {
6
+ target: 'web',
7
+ revision,
8
+ provider: 'eas',
9
+ deploymentId: value.identifier,
10
+ url: value.url,
11
+ production,
12
+ };
13
+ }
14
+ function isRecord(value) {
15
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
16
+ }
17
+ function isNonEmptyString(value) {
18
+ return typeof value === 'string' && value.trim().length > 0;
19
+ }
20
+ function isHttpUrl(value) {
21
+ if (!isNonEmptyString(value))
22
+ return false;
23
+ try {
24
+ const parsed = new URL(value);
25
+ return parsed.protocol === 'https:' || parsed.protocol === 'http:';
26
+ }
27
+ catch {
28
+ return false;
29
+ }
30
+ }
31
+ //# sourceMappingURL=parseEasWebPublication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseEasWebPublication.js","sourceRoot":"","sources":["../../../src/providers/eas/parseEasWebPublication.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,QAAgB,EAChB,UAAmB;IAEnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,MAAM,EAAE,KAAK;QACb,QAAQ;QACR,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK,CAAC,UAAU;QAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,UAAU;KACX,CAAC;AACJ,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;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import type { WebDeploymentPublication } from '../../domain/WebDeploymentPublication';\n\nexport function parseEasWebPublication(\n value: unknown,\n revision: string,\n production: boolean,\n): WebDeploymentPublication | null {\n if (!isRecord(value) || !isNonEmptyString(value.identifier) || !isHttpUrl(value.url)) {\n return null;\n }\n return {\n target: 'web',\n revision,\n provider: 'eas',\n deploymentId: value.identifier,\n url: value.url,\n production,\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\nfunction isHttpUrl(value: unknown): value is string {\n if (!isNonEmptyString(value)) return false;\n try {\n const parsed = new URL(value);\n return parsed.protocol === 'https:' || parsed.protocol === 'http:';\n } catch {\n return false;\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';
2
+ import type { DeploymentFailure } from '../../domain/DeploymentFailure';
3
+ import type { DeploymentRequiredAction } from '../../domain/DeploymentRequiredAction';
4
+ import type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';
5
+ import type { WebDeploymentPublication } from '../../domain/WebDeploymentPublication';
6
+ import type { WebDeploymentPublishIntent } from '../../domain/WebDeploymentPublishIntent';
7
+ import type { DeploymentProcessRunner } from '../../runtime/process/DeploymentProcessRunner';
8
+ export type EasWebPublishResult = {
9
+ readonly status: 'completed';
10
+ readonly publication: WebDeploymentPublication;
11
+ } | {
12
+ readonly status: 'action-required';
13
+ readonly action: DeploymentRequiredAction;
14
+ } | {
15
+ readonly status: 'failed';
16
+ readonly failure: DeploymentFailure;
17
+ };
18
+ export declare function publishWebToEas(options: {
19
+ readonly projectRoot: string;
20
+ readonly exportDirectory: string;
21
+ readonly revision: string;
22
+ readonly intent: WebDeploymentPublishIntent;
23
+ readonly credentials: readonly DeploymentCredentialReference[];
24
+ readonly resolveSecret: DeploymentSecretResolver;
25
+ readonly runProcess: DeploymentProcessRunner;
26
+ }): Promise<EasWebPublishResult>;
27
+ //# sourceMappingURL=publishWebToEas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishWebToEas.d.ts","sourceRoot":"","sources":["../../../src/providers/eas/publishWebToEas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAI7F,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAA;CAAE,GAChF;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;AAEvE,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2B/B"}
@@ -0,0 +1,52 @@
1
+ import { parseEasWebPublication } from './parseEasWebPublication';
2
+ import { resolveEasProcessEnvironment } from './resolveEasProcessEnvironment';
3
+ export async function publishWebToEas(options) {
4
+ if (!isValidIntent(options.intent))
5
+ return invalidIntentFailure();
6
+ const environment = await resolveEasProcessEnvironment(options);
7
+ if (!environment.ok)
8
+ return { status: 'action-required', action: environment.action };
9
+ const result = await options.runProcess({
10
+ command: 'eas',
11
+ args: createDeployArgs(options.exportDirectory, options.intent),
12
+ cwd: options.projectRoot,
13
+ ...(environment.env === undefined ? {} : { env: environment.env }),
14
+ });
15
+ if (result.exitCode !== 0)
16
+ return providerFailure();
17
+ let parsed;
18
+ try {
19
+ parsed = JSON.parse(result.stdout);
20
+ }
21
+ catch {
22
+ return providerFailure('EAS_WEB_INVALID_RESULT', 'EAS Hosting returned an invalid result.');
23
+ }
24
+ const publication = parseEasWebPublication(parsed, options.revision, options.intent.mode === 'production');
25
+ return publication === null
26
+ ? providerFailure('EAS_WEB_INVALID_RESULT', 'EAS Hosting returned an invalid result.')
27
+ : { status: 'completed', publication };
28
+ }
29
+ function createDeployArgs(exportDirectory, intent) {
30
+ const args = ['deploy', '--json', '--non-interactive', '--export-dir', exportDirectory];
31
+ if (intent.mode === 'production')
32
+ args.push('--prod');
33
+ if (intent.alias !== undefined)
34
+ args.push('--alias', intent.alias);
35
+ if (intent.environment !== undefined)
36
+ args.push('--environment', intent.environment);
37
+ return args;
38
+ }
39
+ function isValidIntent(intent) {
40
+ return ((intent.alias === undefined || intent.alias.trim().length > 0) &&
41
+ (intent.environment === undefined || intent.environment.trim().length > 0));
42
+ }
43
+ function invalidIntentFailure() {
44
+ return providerFailure('INVALID_WEB_PUBLISH_INTENT', 'Web publish intent is invalid.');
45
+ }
46
+ function providerFailure(code = 'EAS_WEB_PUBLISH_FAILED', message = 'EAS Hosting publication failed.') {
47
+ return {
48
+ status: 'failed',
49
+ failure: { code, message, target: 'web', provider: 'eas' },
50
+ };
51
+ }
52
+ //# sourceMappingURL=publishWebToEas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishWebToEas.js","sourceRoot":"","sources":["../../../src/providers/eas/publishWebToEas.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';\nimport type { DeploymentFailure } from '../../domain/DeploymentFailure';\nimport type { DeploymentRequiredAction } from '../../domain/DeploymentRequiredAction';\nimport type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';\nimport type { WebDeploymentPublication } from '../../domain/WebDeploymentPublication';\nimport type { WebDeploymentPublishIntent } from '../../domain/WebDeploymentPublishIntent';\nimport type { DeploymentProcessRunner } from '../../runtime/process/DeploymentProcessRunner';\nimport { parseEasWebPublication } from './parseEasWebPublication';\nimport { resolveEasProcessEnvironment } from './resolveEasProcessEnvironment';\n\nexport type EasWebPublishResult =\n | { readonly status: 'completed'; readonly publication: WebDeploymentPublication }\n | { readonly status: 'action-required'; readonly action: DeploymentRequiredAction }\n | { readonly status: 'failed'; readonly failure: DeploymentFailure };\n\nexport async function publishWebToEas(options: {\n readonly projectRoot: string;\n readonly exportDirectory: string;\n readonly revision: string;\n readonly intent: WebDeploymentPublishIntent;\n readonly credentials: readonly DeploymentCredentialReference[];\n readonly resolveSecret: DeploymentSecretResolver;\n readonly runProcess: DeploymentProcessRunner;\n}): Promise<EasWebPublishResult> {\n if (!isValidIntent(options.intent)) return invalidIntentFailure();\n const environment = await resolveEasProcessEnvironment(options);\n if (!environment.ok) return { status: 'action-required', action: environment.action };\n\n const result = await options.runProcess({\n command: 'eas',\n args: createDeployArgs(options.exportDirectory, options.intent),\n cwd: options.projectRoot,\n ...(environment.env === undefined ? {} : { env: environment.env }),\n });\n if (result.exitCode !== 0) return providerFailure();\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(result.stdout);\n } catch {\n return providerFailure('EAS_WEB_INVALID_RESULT', 'EAS Hosting returned an invalid result.');\n }\n const publication = parseEasWebPublication(\n parsed,\n options.revision,\n options.intent.mode === 'production',\n );\n return publication === null\n ? providerFailure('EAS_WEB_INVALID_RESULT', 'EAS Hosting returned an invalid result.')\n : { status: 'completed', publication };\n}\n\nfunction createDeployArgs(\n exportDirectory: string,\n intent: WebDeploymentPublishIntent,\n): readonly string[] {\n const args = ['deploy', '--json', '--non-interactive', '--export-dir', exportDirectory];\n if (intent.mode === 'production') args.push('--prod');\n if (intent.alias !== undefined) args.push('--alias', intent.alias);\n if (intent.environment !== undefined) args.push('--environment', intent.environment);\n return args;\n}\n\nfunction isValidIntent(intent: WebDeploymentPublishIntent): boolean {\n return (\n (intent.alias === undefined || intent.alias.trim().length > 0) &&\n (intent.environment === undefined || intent.environment.trim().length > 0)\n );\n}\n\nfunction invalidIntentFailure(): EasWebPublishResult {\n return providerFailure('INVALID_WEB_PUBLISH_INTENT', 'Web publish intent is invalid.');\n}\n\nfunction providerFailure(\n code = 'EAS_WEB_PUBLISH_FAILED',\n message = 'EAS Hosting publication failed.',\n): EasWebPublishResult {\n return {\n status: 'failed',\n failure: { code, message, target: 'web', provider: 'eas' },\n };\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';
2
+ import type { DeploymentAuthenticationRequiredAction } from '../../domain/DeploymentRequiredAction';
3
+ import type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';
4
+ export type EasProcessEnvironmentResult = {
5
+ readonly ok: true;
6
+ readonly env?: Readonly<Record<string, string>>;
7
+ } | {
8
+ readonly ok: false;
9
+ readonly action: DeploymentAuthenticationRequiredAction;
10
+ };
11
+ export declare function resolveEasProcessEnvironment(options: {
12
+ readonly credentials: readonly DeploymentCredentialReference[];
13
+ readonly resolveSecret: DeploymentSecretResolver;
14
+ }): Promise<EasProcessEnvironmentResult>;
15
+ //# sourceMappingURL=resolveEasProcessEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveEasProcessEnvironment.d.ts","sourceRoot":"","sources":["../../../src/providers/eas/resolveEasProcessEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AACpG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,MAAM,2BAA2B,GACnC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,GACtE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,sCAAsC,CAAA;CAAE,CAAC;AAEpF,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;CAClD,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAyBvC"}
@@ -0,0 +1,26 @@
1
+ export async function resolveEasProcessEnvironment(options) {
2
+ const reference = options.credentials.find((credential) => credential.provider === 'eas' && credential.kind === 'expo-token');
3
+ if (reference === undefined)
4
+ return { ok: true };
5
+ let token;
6
+ try {
7
+ token = await options.resolveSecret(reference);
8
+ }
9
+ catch {
10
+ token = null;
11
+ }
12
+ if (token !== null && token.length > 0) {
13
+ return { ok: true, env: { EXPO_TOKEN: token } };
14
+ }
15
+ return {
16
+ ok: false,
17
+ action: {
18
+ type: 'authentication',
19
+ provider: 'eas',
20
+ target: 'web',
21
+ code: 'EAS_AUTHENTICATION_REQUIRED',
22
+ message: 'EAS authentication is required for Web deployment.',
23
+ },
24
+ };
25
+ }
26
+ //# sourceMappingURL=resolveEasProcessEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveEasProcessEnvironment.js","sourceRoot":"","sources":["../../../src/providers/eas/resolveEasProcessEnvironment.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,OAGlD;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CACxC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,CAClF,CAAC;IACF,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAEjD,IAAI,KAAoB,CAAC;IACzB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE;YACN,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,oDAAoD;SAC9D;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';\nimport type { DeploymentAuthenticationRequiredAction } from '../../domain/DeploymentRequiredAction';\nimport type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';\n\nexport type EasProcessEnvironmentResult =\n | { readonly ok: true; readonly env?: Readonly<Record<string, string>> }\n | { readonly ok: false; readonly action: DeploymentAuthenticationRequiredAction };\n\nexport async function resolveEasProcessEnvironment(options: {\n readonly credentials: readonly DeploymentCredentialReference[];\n readonly resolveSecret: DeploymentSecretResolver;\n}): Promise<EasProcessEnvironmentResult> {\n const reference = options.credentials.find(\n (credential) => credential.provider === 'eas' && credential.kind === 'expo-token',\n );\n if (reference === undefined) return { ok: true };\n\n let token: string | null;\n try {\n token = await options.resolveSecret(reference);\n } catch {\n token = null;\n }\n if (token !== null && token.length > 0) {\n return { ok: true, env: { EXPO_TOKEN: token } };\n }\n return {\n ok: false,\n action: {\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}\n"]}
@@ -0,0 +1,6 @@
1
+ interface DeploymentHttpProbeResult {
2
+ readonly status: number;
3
+ }
4
+ export type DeploymentHttpProbe = (url: string) => Promise<DeploymentHttpProbeResult>;
5
+ export {};
6
+ //# sourceMappingURL=DeploymentHttpProbe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentHttpProbe.d.ts","sourceRoot":"","sources":["../../../src/runtime/http/DeploymentHttpProbe.ts"],"names":[],"mappings":"AAAA,UAAU,yBAAyB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentHttpProbe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentHttpProbe.js","sourceRoot":"","sources":["../../../src/runtime/http/DeploymentHttpProbe.ts"],"names":[],"mappings":"","sourcesContent":["interface DeploymentHttpProbeResult {\n readonly status: number;\n}\n\nexport type DeploymentHttpProbe = (url: string) => Promise<DeploymentHttpProbeResult>;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { DeploymentHttpProbe } from './DeploymentHttpProbe';
2
+ export declare const probeDeploymentHttp: DeploymentHttpProbe;
3
+ //# sourceMappingURL=probeDeploymentHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probeDeploymentHttp.d.ts","sourceRoot":"","sources":["../../../src/runtime/http/probeDeploymentHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,eAAO,MAAM,mBAAmB,EAAE,mBAGjC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export const probeDeploymentHttp = async (url) => {
2
+ const response = await fetch(url, { method: 'GET', redirect: 'follow' });
3
+ return { status: response.status };
4
+ };
5
+ //# sourceMappingURL=probeDeploymentHttp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probeDeploymentHttp.js","sourceRoot":"","sources":["../../../src/runtime/http/probeDeploymentHttp.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAwB,KAAK,EAAE,GAAG,EAAE,EAAE;IACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AACrC,CAAC,CAAC","sourcesContent":["import type { DeploymentHttpProbe } from './DeploymentHttpProbe';\n\nexport const probeDeploymentHttp: DeploymentHttpProbe = async (url) => {\n const response = await fetch(url, { method: 'GET', redirect: 'follow' });\n return { status: response.status };\n};\n"]}
@@ -0,0 +1,13 @@
1
+ export interface DeploymentProcessRequest {
2
+ readonly command: string;
3
+ readonly args: readonly string[];
4
+ readonly cwd: string;
5
+ readonly env?: Readonly<Record<string, string>>;
6
+ }
7
+ export interface DeploymentProcessResult {
8
+ readonly exitCode: number;
9
+ readonly stdout: string;
10
+ readonly stderr: string;
11
+ }
12
+ export type DeploymentProcessRunner = (request: DeploymentProcessRequest) => Promise<DeploymentProcessResult>;
13
+ //# sourceMappingURL=DeploymentProcessRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProcessRunner.d.ts","sourceRoot":"","sources":["../../../src/runtime/process/DeploymentProcessRunner.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentProcessRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProcessRunner.js","sourceRoot":"","sources":["../../../src/runtime/process/DeploymentProcessRunner.ts"],"names":[],"mappings":"","sourcesContent":["export interface DeploymentProcessRequest {\n readonly command: string;\n readonly args: readonly string[];\n readonly cwd: string;\n readonly env?: Readonly<Record<string, string>>;\n}\n\nexport interface DeploymentProcessResult {\n readonly exitCode: number;\n readonly stdout: string;\n readonly stderr: string;\n}\n\nexport type DeploymentProcessRunner = (\n request: DeploymentProcessRequest,\n) => Promise<DeploymentProcessResult>;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { DeploymentProcessRunner } from './DeploymentProcessRunner';
2
+ export declare const runDeploymentProcess: DeploymentProcessRunner;
3
+ //# sourceMappingURL=runDeploymentProcess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runDeploymentProcess.d.ts","sourceRoot":"","sources":["../../../src/runtime/process/runDeploymentProcess.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA2B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAElG,eAAO,MAAM,oBAAoB,EAAE,uBA6B/B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { spawn } from 'node:child_process';
2
+ export const runDeploymentProcess = async (request) => new Promise((resolve) => {
3
+ const child = spawn(request.command, [...request.args], {
4
+ cwd: request.cwd,
5
+ env: { ...process.env, ...request.env },
6
+ shell: false,
7
+ stdio: ['ignore', 'pipe', 'pipe'],
8
+ });
9
+ let stdout = '';
10
+ let stderr = '';
11
+ let settled = false;
12
+ child.stdout.setEncoding('utf8');
13
+ child.stderr.setEncoding('utf8');
14
+ child.stdout.on('data', (chunk) => {
15
+ stdout += chunk;
16
+ });
17
+ child.stderr.on('data', (chunk) => {
18
+ stderr += chunk;
19
+ });
20
+ child.on('error', () => settle(-1));
21
+ child.on('close', (code) => settle(code ?? -1));
22
+ function settle(exitCode) {
23
+ if (settled)
24
+ return;
25
+ settled = true;
26
+ resolve({ exitCode, stdout, stderr });
27
+ }
28
+ });
29
+ //# sourceMappingURL=runDeploymentProcess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runDeploymentProcess.js","sourceRoot":"","sources":["../../../src/runtime/process/runDeploymentProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,MAAM,CAAC,MAAM,oBAAoB,GAA4B,KAAK,EAChE,OAAO,EAC2B,EAAE,CACpC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE;QACtD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,SAAS,MAAM,CAAC,QAAgB;QAC9B,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import { spawn } from 'node:child_process';\n\nimport type { DeploymentProcessResult, DeploymentProcessRunner } from './DeploymentProcessRunner';\n\nexport const runDeploymentProcess: DeploymentProcessRunner = async (\n request,\n): Promise<DeploymentProcessResult> =>\n new Promise((resolve) => {\n const child = spawn(request.command, [...request.args], {\n cwd: request.cwd,\n env: { ...process.env, ...request.env },\n shell: false,\n stdio: ['ignore', 'pipe', 'pipe'],\n });\n let stdout = '';\n let stderr = '';\n let settled = false;\n child.stdout.setEncoding('utf8');\n child.stderr.setEncoding('utf8');\n child.stdout.on('data', (chunk: string) => {\n stdout += chunk;\n });\n child.stderr.on('data', (chunk: string) => {\n stderr += chunk;\n });\n child.on('error', () => settle(-1));\n child.on('close', (code) => settle(code ?? -1));\n\n function settle(exitCode: number): void {\n if (settled) return;\n settled = true;\n resolve({ exitCode, stdout, stderr });\n }\n });\n"]}
@@ -0,0 +1,5 @@
1
+ export interface PreparedWebArtifact {
2
+ readonly directory: string;
3
+ readonly revision: string;
4
+ }
5
+ //# sourceMappingURL=PreparedWebArtifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreparedWebArtifact.d.ts","sourceRoot":"","sources":["../../../src/targets/web/PreparedWebArtifact.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PreparedWebArtifact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreparedWebArtifact.js","sourceRoot":"","sources":["../../../src/targets/web/PreparedWebArtifact.ts"],"names":[],"mappings":"","sourcesContent":["export interface PreparedWebArtifact {\n readonly directory: string;\n readonly revision: string;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { DeploymentTargetPlanContributor } from '../../domain/DeploymentTargetPlanContributor';
2
+ export declare function createWebTargetPlanContributor(): DeploymentTargetPlanContributor;
3
+ //# sourceMappingURL=createWebTargetPlanContributor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createWebTargetPlanContributor.d.ts","sourceRoot":"","sources":["../../../src/targets/web/createWebTargetPlanContributor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AAEpG,wBAAgB,8BAA8B,IAAI,+BAA+B,CAMhF"}
@@ -0,0 +1,32 @@
1
+ export function createWebTargetPlanContributor() {
2
+ return {
3
+ target: 'web',
4
+ capabilities: ['prepare', 'publish', 'verify'],
5
+ createSteps: createWebSteps,
6
+ };
7
+ }
8
+ function createWebSteps(change) {
9
+ if (change.target !== 'web' || change.kind === 'none')
10
+ return [];
11
+ if (change.kind === 'remove') {
12
+ return [
13
+ {
14
+ id: 'web:remove',
15
+ target: 'web',
16
+ phase: 'publish',
17
+ operation: 'remove',
18
+ provider: 'eas',
19
+ reason: change.reason,
20
+ },
21
+ ];
22
+ }
23
+ return [
24
+ createStep('web:prepare', 'prepare', 'run', 'expo', change.reason),
25
+ createStep('web:publish', 'publish', change.kind, 'eas', change.reason),
26
+ createStep('web:verify', 'verify', 'run', 'eas', change.reason),
27
+ ];
28
+ }
29
+ function createStep(id, phase, operation, provider, reason) {
30
+ return { id, target: 'web', phase, operation, provider, reason };
31
+ }
32
+ //# sourceMappingURL=createWebTargetPlanContributor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createWebTargetPlanContributor.js","sourceRoot":"","sources":["../../../src/targets/web/createWebTargetPlanContributor.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,cAAc;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAA8B;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IACjE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL;gBACE,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QAClE,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACvE,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,EAAU,EACV,KAAkC,EAClC,SAA0C,EAC1C,QAAgB,EAChB,MAAc;IAEd,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACnE,CAAC","sourcesContent":["import type { DeploymentPlanStep } from '../../domain/DeploymentPlanStep';\nimport type { DeploymentTargetChange } from '../../domain/DeploymentTargetChange';\nimport type { DeploymentTargetPlanContributor } from '../../domain/DeploymentTargetPlanContributor';\n\nexport function createWebTargetPlanContributor(): DeploymentTargetPlanContributor {\n return {\n target: 'web',\n capabilities: ['prepare', 'publish', 'verify'],\n createSteps: createWebSteps,\n };\n}\n\nfunction createWebSteps(change: DeploymentTargetChange): readonly DeploymentPlanStep[] {\n if (change.target !== 'web' || change.kind === 'none') return [];\n if (change.kind === 'remove') {\n return [\n {\n id: 'web:remove',\n target: 'web',\n phase: 'publish',\n operation: 'remove',\n provider: 'eas',\n reason: change.reason,\n },\n ];\n }\n return [\n createStep('web:prepare', 'prepare', 'run', 'expo', change.reason),\n createStep('web:publish', 'publish', change.kind, 'eas', change.reason),\n createStep('web:verify', 'verify', 'run', 'eas', change.reason),\n ];\n}\n\nfunction createStep(\n id: string,\n phase: DeploymentPlanStep['phase'],\n operation: DeploymentPlanStep['operation'],\n provider: string,\n reason: string,\n): DeploymentPlanStep {\n return { id, target: 'web', phase, operation, provider, reason };\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare function hashWebExport(root: string): Promise<string>;
2
+ //# sourceMappingURL=hashWebExport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashWebExport.d.ts","sourceRoot":"","sources":["../../../src/targets/web/hashWebExport.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUjE"}
@@ -0,0 +1,30 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { promises as fs } from 'node:fs';
3
+ import path from 'node:path';
4
+ export async function hashWebExport(root) {
5
+ const files = await listExportFiles(root, root);
6
+ const hash = createHash('sha256');
7
+ for (const file of files.sort((left, right) => left.relative.localeCompare(right.relative))) {
8
+ const data = await fs.readFile(file.absolute);
9
+ hash.update(`${file.relative.length}:${file.relative}\0${data.length}:`);
10
+ hash.update(data);
11
+ hash.update('\0');
12
+ }
13
+ return hash.digest('hex');
14
+ }
15
+ async function listExportFiles(root, directory) {
16
+ const entries = await fs.readdir(directory, { withFileTypes: true });
17
+ const files = [];
18
+ for (const entry of entries) {
19
+ const absolute = path.join(directory, entry.name);
20
+ if (entry.isDirectory()) {
21
+ files.push(...(await listExportFiles(root, absolute)));
22
+ continue;
23
+ }
24
+ if (!entry.isFile())
25
+ throw new Error('Web export contains an unsupported filesystem entry.');
26
+ files.push({ absolute, relative: path.relative(root, absolute).split(path.sep).join('/') });
27
+ }
28
+ return files;
29
+ }
30
+ //# sourceMappingURL=hashWebExport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashWebExport.js","sourceRoot":"","sources":["../../../src/targets/web/hashWebExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAOD,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,SAAiB;IAC5D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { createHash } from 'node:crypto';\nimport { promises as fs } from 'node:fs';\nimport path from 'node:path';\n\nexport async function hashWebExport(root: string): Promise<string> {\n const files = await listExportFiles(root, root);\n const hash = createHash('sha256');\n for (const file of files.sort((left, right) => left.relative.localeCompare(right.relative))) {\n const data = await fs.readFile(file.absolute);\n hash.update(`${file.relative.length}:${file.relative}\\0${data.length}:`);\n hash.update(data);\n hash.update('\\0');\n }\n return hash.digest('hex');\n}\n\ninterface ExportFile {\n readonly absolute: string;\n readonly relative: string;\n}\n\nasync function listExportFiles(root: string, directory: string): Promise<ExportFile[]> {\n const entries = await fs.readdir(directory, { withFileTypes: true });\n const files: ExportFile[] = [];\n for (const entry of entries) {\n const absolute = path.join(directory, entry.name);\n if (entry.isDirectory()) {\n files.push(...(await listExportFiles(root, absolute)));\n continue;\n }\n if (!entry.isFile()) throw new Error('Web export contains an unsupported filesystem entry.');\n files.push({ absolute, relative: path.relative(root, absolute).split(path.sep).join('/') });\n }\n return files;\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';
2
+ import type { DeploymentFailure } from '../../domain/DeploymentFailure';
3
+ interface NormalizedWebProviders {
4
+ readonly build: 'expo';
5
+ readonly publish: 'eas';
6
+ }
7
+ type NormalizeWebProvidersResult = {
8
+ readonly ok: true;
9
+ readonly providers: NormalizedWebProviders;
10
+ } | {
11
+ readonly ok: false;
12
+ readonly failure: DeploymentFailure;
13
+ };
14
+ export declare function normalizeWebProviders(providers: AppDeployProviderSelection | undefined): NormalizeWebProvidersResult;
15
+ export {};
16
+ //# sourceMappingURL=normalizeWebProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeWebProviders.d.ts","sourceRoot":"","sources":["../../../src/targets/web/normalizeWebProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;CACzB;AAED,KAAK,2BAA2B,GAC5B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEhE,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,0BAA0B,GAAG,SAAS,GAChD,2BAA2B,CAc7B"}
@@ -0,0 +1,16 @@
1
+ export function normalizeWebProviders(providers) {
2
+ const build = providers?.build ?? 'expo';
3
+ const publish = providers?.publish ?? 'eas';
4
+ if (build === 'expo' && publish === 'eas') {
5
+ return { ok: true, providers: { build, publish } };
6
+ }
7
+ return {
8
+ ok: false,
9
+ failure: {
10
+ code: 'UNSUPPORTED_WEB_PROVIDER',
11
+ message: 'The configured Web deployment provider is not supported.',
12
+ target: 'web',
13
+ },
14
+ };
15
+ }
16
+ //# sourceMappingURL=normalizeWebProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeWebProviders.js","sourceRoot":"","sources":["../../../src/targets/web/normalizeWebProviders.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,qBAAqB,CACnC,SAAiD;IAEjD,MAAM,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,MAAM,CAAC;IACzC,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC;IAC5C,IAAI,KAAK,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QAC1C,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,0BAA0B;YAChC,OAAO,EAAE,0DAA0D;YACnE,MAAM,EAAE,KAAK;SACd;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentFailure } from '../../domain/DeploymentFailure';\n\ninterface NormalizedWebProviders {\n readonly build: 'expo';\n readonly publish: 'eas';\n}\n\ntype NormalizeWebProvidersResult =\n | { readonly ok: true; readonly providers: NormalizedWebProviders }\n | { readonly ok: false; readonly failure: DeploymentFailure };\n\nexport function normalizeWebProviders(\n providers: AppDeployProviderSelection | undefined,\n): NormalizeWebProvidersResult {\n const build = providers?.build ?? 'expo';\n const publish = providers?.publish ?? 'eas';\n if (build === 'expo' && publish === 'eas') {\n return { ok: true, providers: { build, publish } };\n }\n return {\n ok: false,\n failure: {\n code: 'UNSUPPORTED_WEB_PROVIDER',\n message: 'The configured Web deployment provider is not supported.',\n target: 'web',\n },\n };\n}\n"]}