@vendure/cloud 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/README.md +60 -6
  2. package/dist/cli/arguments.d.ts +5 -0
  3. package/dist/cli/arguments.d.ts.map +1 -0
  4. package/dist/cli/arguments.js +57 -0
  5. package/dist/cli/arguments.js.map +1 -0
  6. package/dist/cli/command.d.ts +26 -0
  7. package/dist/cli/command.d.ts.map +1 -0
  8. package/dist/cli/command.js +84 -0
  9. package/dist/cli/command.js.map +1 -0
  10. package/dist/cli/commands/deployment/arguments.d.ts +3 -0
  11. package/dist/cli/commands/deployment/arguments.d.ts.map +1 -0
  12. package/dist/cli/commands/deployment/arguments.js +13 -0
  13. package/dist/cli/commands/deployment/arguments.js.map +1 -0
  14. package/dist/cli/commands/deployment/build-logs.d.ts +3 -0
  15. package/dist/cli/commands/deployment/build-logs.d.ts.map +1 -0
  16. package/dist/cli/commands/deployment/build-logs.js +98 -0
  17. package/dist/cli/commands/deployment/build-logs.js.map +1 -0
  18. package/dist/cli/commands/deployment/deploy.d.ts +3 -0
  19. package/dist/cli/commands/deployment/deploy.d.ts.map +1 -0
  20. package/dist/cli/commands/deployment/deploy.js +306 -0
  21. package/dist/cli/commands/deployment/deploy.js.map +1 -0
  22. package/dist/cli/commands/deployment/index.d.ts +3 -0
  23. package/dist/cli/commands/deployment/index.d.ts.map +1 -0
  24. package/dist/cli/commands/deployment/index.js +177 -0
  25. package/dist/cli/commands/deployment/index.js.map +1 -0
  26. package/dist/cli/commands/deployment/list.d.ts +3 -0
  27. package/dist/cli/commands/deployment/list.d.ts.map +1 -0
  28. package/dist/cli/commands/deployment/list.js +77 -0
  29. package/dist/cli/commands/deployment/list.js.map +1 -0
  30. package/dist/cli/commands/deployment/logs.d.ts +3 -0
  31. package/dist/cli/commands/deployment/logs.d.ts.map +1 -0
  32. package/dist/cli/commands/deployment/logs.js +88 -0
  33. package/dist/cli/commands/deployment/logs.js.map +1 -0
  34. package/dist/cli/commands/deployment/options.d.ts +11 -0
  35. package/dist/cli/commands/deployment/options.d.ts.map +1 -0
  36. package/dist/cli/commands/deployment/options.js +37 -0
  37. package/dist/cli/commands/deployment/options.js.map +1 -0
  38. package/dist/cli/commands/deployment/plan-format.d.ts +8 -0
  39. package/dist/cli/commands/deployment/plan-format.d.ts.map +1 -0
  40. package/dist/cli/commands/deployment/plan-format.js +25 -0
  41. package/dist/cli/commands/deployment/plan-format.js.map +1 -0
  42. package/dist/cli/commands/deployment/plan.d.ts +3 -0
  43. package/dist/cli/commands/deployment/plan.d.ts.map +1 -0
  44. package/dist/cli/commands/deployment/plan.js +54 -0
  45. package/dist/cli/commands/deployment/plan.js.map +1 -0
  46. package/dist/cli/commands/deployment/rollback.d.ts +3 -0
  47. package/dist/cli/commands/deployment/rollback.d.ts.map +1 -0
  48. package/dist/cli/commands/deployment/rollback.js +97 -0
  49. package/dist/cli/commands/deployment/rollback.js.map +1 -0
  50. package/dist/cli/commands/deployment/shared.d.ts +5 -0
  51. package/dist/cli/commands/deployment/shared.d.ts.map +1 -0
  52. package/dist/cli/commands/deployment/shared.js +23 -0
  53. package/dist/cli/commands/deployment/shared.js.map +1 -0
  54. package/dist/cli/commands/deployment/show.d.ts +3 -0
  55. package/dist/cli/commands/deployment/show.d.ts.map +1 -0
  56. package/dist/cli/commands/deployment/show.js +71 -0
  57. package/dist/cli/commands/deployment/show.js.map +1 -0
  58. package/dist/cli/commands/deployment/source.d.ts +14 -0
  59. package/dist/cli/commands/deployment/source.d.ts.map +1 -0
  60. package/dist/cli/commands/deployment/source.js +19 -0
  61. package/dist/cli/commands/deployment/source.js.map +1 -0
  62. package/dist/cli/commands/deployment/status.d.ts +3 -0
  63. package/dist/cli/commands/deployment/status.d.ts.map +1 -0
  64. package/dist/cli/commands/deployment/status.js +59 -0
  65. package/dist/cli/commands/deployment/status.js.map +1 -0
  66. package/dist/cli/commands/deployment/teardown.d.ts +3 -0
  67. package/dist/cli/commands/deployment/teardown.d.ts.map +1 -0
  68. package/dist/cli/commands/deployment/teardown.js +178 -0
  69. package/dist/cli/commands/deployment/teardown.js.map +1 -0
  70. package/dist/cli/commands/identity-context/context.d.ts +3 -0
  71. package/dist/cli/commands/identity-context/context.d.ts.map +1 -0
  72. package/dist/cli/commands/identity-context/context.js +47 -0
  73. package/dist/cli/commands/identity-context/context.js.map +1 -0
  74. package/dist/cli/commands/identity-context/index.d.ts +2 -0
  75. package/dist/cli/commands/identity-context/index.d.ts.map +1 -0
  76. package/dist/cli/commands/identity-context/index.js +94 -0
  77. package/dist/cli/commands/identity-context/index.js.map +1 -0
  78. package/dist/cli/commands/identity-context/keys.d.ts +5 -0
  79. package/dist/cli/commands/identity-context/keys.d.ts.map +1 -0
  80. package/dist/cli/commands/identity-context/keys.js +52 -0
  81. package/dist/cli/commands/identity-context/keys.js.map +1 -0
  82. package/dist/cli/commands/identity-context/login.d.ts +2 -0
  83. package/dist/cli/commands/identity-context/login.d.ts.map +1 -0
  84. package/dist/cli/commands/identity-context/login.js +158 -0
  85. package/dist/cli/commands/identity-context/login.js.map +1 -0
  86. package/dist/cli/commands/identity-context/logout.d.ts +2 -0
  87. package/dist/cli/commands/identity-context/logout.d.ts.map +1 -0
  88. package/dist/cli/commands/identity-context/logout.js +12 -0
  89. package/dist/cli/commands/identity-context/logout.js.map +1 -0
  90. package/dist/cli/commands/identity-context/org-switch.d.ts +3 -0
  91. package/dist/cli/commands/identity-context/org-switch.d.ts.map +1 -0
  92. package/dist/cli/commands/identity-context/org-switch.js +71 -0
  93. package/dist/cli/commands/identity-context/org-switch.js.map +1 -0
  94. package/dist/cli/commands/identity-context/use.d.ts +3 -0
  95. package/dist/cli/commands/identity-context/use.d.ts.map +1 -0
  96. package/dist/cli/commands/identity-context/use.js +23 -0
  97. package/dist/cli/commands/identity-context/use.js.map +1 -0
  98. package/dist/cli/commands/identity-context/whoami.d.ts +3 -0
  99. package/dist/cli/commands/identity-context/whoami.d.ts.map +1 -0
  100. package/dist/cli/commands/identity-context/whoami.js +80 -0
  101. package/dist/cli/commands/identity-context/whoami.js.map +1 -0
  102. package/dist/cli/commands/index.d.ts +4 -0
  103. package/dist/cli/commands/index.d.ts.map +1 -0
  104. package/dist/cli/commands/index.js +67 -0
  105. package/dist/cli/commands/index.js.map +1 -0
  106. package/dist/cli/commands/project-config/config/build-fields.d.ts +4 -0
  107. package/dist/cli/commands/project-config/config/build-fields.d.ts.map +1 -0
  108. package/dist/cli/commands/project-config/config/build-fields.js +16 -0
  109. package/dist/cli/commands/project-config/config/build-fields.js.map +1 -0
  110. package/dist/cli/commands/project-config/config/build.d.ts +4 -0
  111. package/dist/cli/commands/project-config/config/build.d.ts.map +1 -0
  112. package/dist/cli/commands/project-config/config/build.js +46 -0
  113. package/dist/cli/commands/project-config/config/build.js.map +1 -0
  114. package/dist/cli/commands/project-config/config/desired-state.d.ts +4 -0
  115. package/dist/cli/commands/project-config/config/desired-state.d.ts.map +1 -0
  116. package/dist/cli/commands/project-config/config/desired-state.js +34 -0
  117. package/dist/cli/commands/project-config/config/desired-state.js.map +1 -0
  118. package/dist/cli/commands/project-config/config/index.d.ts +2 -0
  119. package/dist/cli/commands/project-config/config/index.d.ts.map +1 -0
  120. package/dist/cli/commands/project-config/config/index.js +177 -0
  121. package/dist/cli/commands/project-config/config/index.js.map +1 -0
  122. package/dist/cli/commands/project-config/config/runtime.d.ts +3 -0
  123. package/dist/cli/commands/project-config/config/runtime.d.ts.map +1 -0
  124. package/dist/cli/commands/project-config/config/runtime.js +38 -0
  125. package/dist/cli/commands/project-config/config/runtime.js.map +1 -0
  126. package/dist/cli/commands/project-config/config/search.d.ts +3 -0
  127. package/dist/cli/commands/project-config/config/search.d.ts.map +1 -0
  128. package/dist/cli/commands/project-config/config/search.js +54 -0
  129. package/dist/cli/commands/project-config/config/search.js.map +1 -0
  130. package/dist/cli/commands/project-config/config/set.d.ts +2 -0
  131. package/dist/cli/commands/project-config/config/set.d.ts.map +1 -0
  132. package/dist/cli/commands/project-config/config/set.js +14 -0
  133. package/dist/cli/commands/project-config/config/set.js.map +1 -0
  134. package/dist/cli/commands/project-config/config/show.d.ts +6 -0
  135. package/dist/cli/commands/project-config/config/show.d.ts.map +1 -0
  136. package/dist/cli/commands/project-config/config/show.js +33 -0
  137. package/dist/cli/commands/project-config/config/show.js.map +1 -0
  138. package/dist/cli/commands/project-config/env/add.d.ts +3 -0
  139. package/dist/cli/commands/project-config/env/add.d.ts.map +1 -0
  140. package/dist/cli/commands/project-config/env/add.js +22 -0
  141. package/dist/cli/commands/project-config/env/add.js.map +1 -0
  142. package/dist/cli/commands/project-config/env/get.d.ts +3 -0
  143. package/dist/cli/commands/project-config/env/get.d.ts.map +1 -0
  144. package/dist/cli/commands/project-config/env/get.js +12 -0
  145. package/dist/cli/commands/project-config/env/get.js.map +1 -0
  146. package/dist/cli/commands/project-config/env/import.d.ts +3 -0
  147. package/dist/cli/commands/project-config/env/import.d.ts.map +1 -0
  148. package/dist/cli/commands/project-config/env/import.js +45 -0
  149. package/dist/cli/commands/project-config/env/import.js.map +1 -0
  150. package/dist/cli/commands/project-config/env/index.d.ts +2 -0
  151. package/dist/cli/commands/project-config/env/index.d.ts.map +1 -0
  152. package/dist/cli/commands/project-config/env/index.js +103 -0
  153. package/dist/cli/commands/project-config/env/index.js.map +1 -0
  154. package/dist/cli/commands/project-config/env/list.d.ts +3 -0
  155. package/dist/cli/commands/project-config/env/list.d.ts.map +1 -0
  156. package/dist/cli/commands/project-config/env/list.js +25 -0
  157. package/dist/cli/commands/project-config/env/list.js.map +1 -0
  158. package/dist/cli/commands/project-config/env/metadata-options.d.ts +9 -0
  159. package/dist/cli/commands/project-config/env/metadata-options.d.ts.map +1 -0
  160. package/dist/cli/commands/project-config/env/metadata-options.js +32 -0
  161. package/dist/cli/commands/project-config/env/metadata-options.js.map +1 -0
  162. package/dist/cli/commands/project-config/env/pull.d.ts +3 -0
  163. package/dist/cli/commands/project-config/env/pull.d.ts.map +1 -0
  164. package/dist/cli/commands/project-config/env/pull.js +50 -0
  165. package/dist/cli/commands/project-config/env/pull.js.map +1 -0
  166. package/dist/cli/commands/project-config/env/read-value.d.ts +3 -0
  167. package/dist/cli/commands/project-config/env/read-value.d.ts.map +1 -0
  168. package/dist/cli/commands/project-config/env/read-value.js +20 -0
  169. package/dist/cli/commands/project-config/env/read-value.js.map +1 -0
  170. package/dist/cli/commands/project-config/env/rm.d.ts +3 -0
  171. package/dist/cli/commands/project-config/env/rm.d.ts.map +1 -0
  172. package/dist/cli/commands/project-config/env/rm.js +23 -0
  173. package/dist/cli/commands/project-config/env/rm.js.map +1 -0
  174. package/dist/cli/commands/project-config/env/run.d.ts +3 -0
  175. package/dist/cli/commands/project-config/env/run.d.ts.map +1 -0
  176. package/dist/cli/commands/project-config/env/run.js +28 -0
  177. package/dist/cli/commands/project-config/env/run.js.map +1 -0
  178. package/dist/cli/commands/project-config/env/update.d.ts +3 -0
  179. package/dist/cli/commands/project-config/env/update.d.ts.map +1 -0
  180. package/dist/cli/commands/project-config/env/update.js +32 -0
  181. package/dist/cli/commands/project-config/env/update.js.map +1 -0
  182. package/dist/cli/commands/project-config/environment/create.d.ts +3 -0
  183. package/dist/cli/commands/project-config/environment/create.d.ts.map +1 -0
  184. package/dist/cli/commands/project-config/environment/create.js +33 -0
  185. package/dist/cli/commands/project-config/environment/create.js.map +1 -0
  186. package/dist/cli/commands/project-config/environment/delete.d.ts +3 -0
  187. package/dist/cli/commands/project-config/environment/delete.d.ts.map +1 -0
  188. package/dist/cli/commands/project-config/environment/delete.js +42 -0
  189. package/dist/cli/commands/project-config/environment/delete.js.map +1 -0
  190. package/dist/cli/commands/project-config/environment/find.d.ts +7 -0
  191. package/dist/cli/commands/project-config/environment/find.d.ts.map +1 -0
  192. package/dist/cli/commands/project-config/environment/find.js +18 -0
  193. package/dist/cli/commands/project-config/environment/find.js.map +1 -0
  194. package/dist/cli/commands/project-config/environment/index.d.ts +2 -0
  195. package/dist/cli/commands/project-config/environment/index.d.ts.map +1 -0
  196. package/dist/cli/commands/project-config/environment/index.js +76 -0
  197. package/dist/cli/commands/project-config/environment/index.js.map +1 -0
  198. package/dist/cli/commands/project-config/environment/initial-superadmin.d.ts +3 -0
  199. package/dist/cli/commands/project-config/environment/initial-superadmin.d.ts.map +1 -0
  200. package/dist/cli/commands/project-config/environment/initial-superadmin.js +13 -0
  201. package/dist/cli/commands/project-config/environment/initial-superadmin.js.map +1 -0
  202. package/dist/cli/commands/project-config/environment/list.d.ts +3 -0
  203. package/dist/cli/commands/project-config/environment/list.d.ts.map +1 -0
  204. package/dist/cli/commands/project-config/environment/list.js +23 -0
  205. package/dist/cli/commands/project-config/environment/list.js.map +1 -0
  206. package/dist/cli/commands/project-config/environment/show.d.ts +3 -0
  207. package/dist/cli/commands/project-config/environment/show.d.ts.map +1 -0
  208. package/dist/cli/commands/project-config/environment/show.js +30 -0
  209. package/dist/cli/commands/project-config/environment/show.js.map +1 -0
  210. package/dist/cli/commands/project-config/environment/update.d.ts +3 -0
  211. package/dist/cli/commands/project-config/environment/update.d.ts.map +1 -0
  212. package/dist/cli/commands/project-config/environment/update.js +19 -0
  213. package/dist/cli/commands/project-config/environment/update.js.map +1 -0
  214. package/dist/cli/commands/project-config/index.d.ts +3 -0
  215. package/dist/cli/commands/project-config/index.d.ts.map +1 -0
  216. package/dist/cli/commands/project-config/index.js +27 -0
  217. package/dist/cli/commands/project-config/index.js.map +1 -0
  218. package/dist/cli/commands/project-config/init/build-detection.d.ts +11 -0
  219. package/dist/cli/commands/project-config/init/build-detection.d.ts.map +1 -0
  220. package/dist/cli/commands/project-config/init/build-detection.js +113 -0
  221. package/dist/cli/commands/project-config/init/build-detection.js.map +1 -0
  222. package/dist/cli/commands/project-config/init/index.d.ts +2 -0
  223. package/dist/cli/commands/project-config/init/index.d.ts.map +1 -0
  224. package/dist/cli/commands/project-config/init/index.js +48 -0
  225. package/dist/cli/commands/project-config/init/index.js.map +1 -0
  226. package/dist/cli/commands/project-config/init/init.d.ts +14 -0
  227. package/dist/cli/commands/project-config/init/init.d.ts.map +1 -0
  228. package/dist/cli/commands/project-config/init/init.js +367 -0
  229. package/dist/cli/commands/project-config/init/init.js.map +1 -0
  230. package/dist/cli/commands/project-config/options.d.ts +10 -0
  231. package/dist/cli/commands/project-config/options.d.ts.map +1 -0
  232. package/dist/cli/commands/project-config/options.js +80 -0
  233. package/dist/cli/commands/project-config/options.js.map +1 -0
  234. package/dist/cli/commands/project-config/project/create.d.ts +3 -0
  235. package/dist/cli/commands/project-config/project/create.d.ts.map +1 -0
  236. package/dist/cli/commands/project-config/project/create.js +20 -0
  237. package/dist/cli/commands/project-config/project/create.js.map +1 -0
  238. package/dist/cli/commands/project-config/project/delete.d.ts +3 -0
  239. package/dist/cli/commands/project-config/project/delete.d.ts.map +1 -0
  240. package/dist/cli/commands/project-config/project/delete.js +28 -0
  241. package/dist/cli/commands/project-config/project/delete.js.map +1 -0
  242. package/dist/cli/commands/project-config/project/index.d.ts +2 -0
  243. package/dist/cli/commands/project-config/project/index.d.ts.map +1 -0
  244. package/dist/cli/commands/project-config/project/index.js +88 -0
  245. package/dist/cli/commands/project-config/project/index.js.map +1 -0
  246. package/dist/cli/commands/project-config/project/link.d.ts +3 -0
  247. package/dist/cli/commands/project-config/project/link.d.ts.map +1 -0
  248. package/dist/cli/commands/project-config/project/link.js +45 -0
  249. package/dist/cli/commands/project-config/project/link.js.map +1 -0
  250. package/dist/cli/commands/project-config/project/list.d.ts +3 -0
  251. package/dist/cli/commands/project-config/project/list.d.ts.map +1 -0
  252. package/dist/cli/commands/project-config/project/list.js +15 -0
  253. package/dist/cli/commands/project-config/project/list.js.map +1 -0
  254. package/dist/cli/commands/project-config/project/show.d.ts +3 -0
  255. package/dist/cli/commands/project-config/project/show.d.ts.map +1 -0
  256. package/dist/cli/commands/project-config/project/show.js +33 -0
  257. package/dist/cli/commands/project-config/project/show.js.map +1 -0
  258. package/dist/cli/commands/project-config/project/unlink.d.ts +3 -0
  259. package/dist/cli/commands/project-config/project/unlink.d.ts.map +1 -0
  260. package/dist/cli/commands/project-config/project/unlink.js +21 -0
  261. package/dist/cli/commands/project-config/project/unlink.js.map +1 -0
  262. package/dist/cli/commands/project-config/project/update.d.ts +3 -0
  263. package/dist/cli/commands/project-config/project/update.d.ts.map +1 -0
  264. package/dist/cli/commands/project-config/project/update.js +18 -0
  265. package/dist/cli/commands/project-config/project/update.js.map +1 -0
  266. package/dist/cli/commands/project-config/source/connect.d.ts +15 -0
  267. package/dist/cli/commands/project-config/source/connect.d.ts.map +1 -0
  268. package/dist/cli/commands/project-config/source/connect.js +208 -0
  269. package/dist/cli/commands/project-config/source/connect.js.map +1 -0
  270. package/dist/cli/commands/project-config/source/disconnect.d.ts +3 -0
  271. package/dist/cli/commands/project-config/source/disconnect.d.ts.map +1 -0
  272. package/dist/cli/commands/project-config/source/disconnect.js +27 -0
  273. package/dist/cli/commands/project-config/source/disconnect.js.map +1 -0
  274. package/dist/cli/commands/project-config/source/index.d.ts +2 -0
  275. package/dist/cli/commands/project-config/source/index.d.ts.map +1 -0
  276. package/dist/cli/commands/project-config/source/index.js +74 -0
  277. package/dist/cli/commands/project-config/source/index.js.map +1 -0
  278. package/dist/cli/commands/project-config/source/map.d.ts +3 -0
  279. package/dist/cli/commands/project-config/source/map.d.ts.map +1 -0
  280. package/dist/cli/commands/project-config/source/map.js +93 -0
  281. package/dist/cli/commands/project-config/source/map.js.map +1 -0
  282. package/dist/cli/commands/project-config/source/repos.d.ts +3 -0
  283. package/dist/cli/commands/project-config/source/repos.d.ts.map +1 -0
  284. package/dist/cli/commands/project-config/source/repos.js +18 -0
  285. package/dist/cli/commands/project-config/source/repos.js.map +1 -0
  286. package/dist/cli/commands/project-config/source/status.d.ts +3 -0
  287. package/dist/cli/commands/project-config/source/status.d.ts.map +1 -0
  288. package/dist/cli/commands/project-config/source/status.js +72 -0
  289. package/dist/cli/commands/project-config/source/status.js.map +1 -0
  290. package/dist/cli/commands/runtime-data/backup.d.ts +5 -0
  291. package/dist/cli/commands/runtime-data/backup.d.ts.map +1 -0
  292. package/dist/cli/commands/runtime-data/backup.js +107 -0
  293. package/dist/cli/commands/runtime-data/backup.js.map +1 -0
  294. package/dist/cli/commands/runtime-data/index.d.ts +2 -0
  295. package/dist/cli/commands/runtime-data/index.d.ts.map +1 -0
  296. package/dist/cli/commands/runtime-data/index.js +206 -0
  297. package/dist/cli/commands/runtime-data/index.js.map +1 -0
  298. package/dist/cli/commands/runtime-data/resource.d.ts +11 -0
  299. package/dist/cli/commands/runtime-data/resource.d.ts.map +1 -0
  300. package/dist/cli/commands/runtime-data/resource.js +147 -0
  301. package/dist/cli/commands/runtime-data/resource.js.map +1 -0
  302. package/dist/cli/commands/runtime-data/restore.d.ts +3 -0
  303. package/dist/cli/commands/runtime-data/restore.d.ts.map +1 -0
  304. package/dist/cli/commands/runtime-data/restore.js +119 -0
  305. package/dist/cli/commands/runtime-data/restore.js.map +1 -0
  306. package/dist/cli/commands/runtime-data/seeds.d.ts +6 -0
  307. package/dist/cli/commands/runtime-data/seeds.d.ts.map +1 -0
  308. package/dist/cli/commands/runtime-data/seeds.js +213 -0
  309. package/dist/cli/commands/runtime-data/seeds.js.map +1 -0
  310. package/dist/cli/commands/runtime-data/tunnel.d.ts +16 -0
  311. package/dist/cli/commands/runtime-data/tunnel.d.ts.map +1 -0
  312. package/dist/cli/commands/runtime-data/tunnel.js +249 -0
  313. package/dist/cli/commands/runtime-data/tunnel.js.map +1 -0
  314. package/dist/cli/host-arguments.d.ts +7 -0
  315. package/dist/cli/host-arguments.d.ts.map +1 -0
  316. package/dist/cli/host-arguments.js +46 -0
  317. package/dist/cli/host-arguments.js.map +1 -0
  318. package/dist/cli/host-nodes.d.ts +30 -0
  319. package/dist/cli/host-nodes.d.ts.map +1 -0
  320. package/dist/cli/host-nodes.js +17 -0
  321. package/dist/cli/host-nodes.js.map +1 -0
  322. package/dist/cli/index.d.ts +29 -0
  323. package/dist/cli/index.d.ts.map +1 -0
  324. package/dist/cli/index.js +60 -0
  325. package/dist/cli/index.js.map +1 -0
  326. package/dist/cli/lib/api-client.d.ts +19 -0
  327. package/dist/cli/lib/api-client.d.ts.map +1 -0
  328. package/dist/cli/lib/api-client.js +111 -0
  329. package/dist/cli/lib/api-client.js.map +1 -0
  330. package/dist/cli/lib/auth.d.ts +132 -0
  331. package/dist/cli/lib/auth.d.ts.map +1 -0
  332. package/dist/cli/lib/auth.js +505 -0
  333. package/dist/cli/lib/auth.js.map +1 -0
  334. package/dist/cli/lib/config.d.ts +7 -0
  335. package/dist/cli/lib/config.d.ts.map +1 -0
  336. package/dist/cli/lib/config.js +11 -0
  337. package/dist/cli/lib/config.js.map +1 -0
  338. package/dist/cli/lib/context.d.ts +10 -0
  339. package/dist/cli/lib/context.d.ts.map +1 -0
  340. package/dist/cli/lib/context.js +42 -0
  341. package/dist/cli/lib/context.js.map +1 -0
  342. package/dist/cli/lib/contract/build-settings.d.ts +36 -0
  343. package/dist/cli/lib/contract/build-settings.d.ts.map +1 -0
  344. package/dist/cli/lib/contract/build-settings.js +73 -0
  345. package/dist/cli/lib/contract/build-settings.js.map +1 -0
  346. package/dist/cli/lib/contract/database.d.ts +47 -0
  347. package/dist/cli/lib/contract/database.d.ts.map +1 -0
  348. package/dist/cli/lib/contract/database.js +29 -0
  349. package/dist/cli/lib/contract/database.js.map +1 -0
  350. package/dist/cli/lib/contract/deployment-resource-labels.d.ts +11 -0
  351. package/dist/cli/lib/contract/deployment-resource-labels.d.ts.map +1 -0
  352. package/dist/cli/lib/contract/deployment-resource-labels.js +80 -0
  353. package/dist/cli/lib/contract/deployment-resource-labels.js.map +1 -0
  354. package/dist/cli/lib/contract/deployments.d.ts +128 -0
  355. package/dist/cli/lib/contract/deployments.d.ts.map +1 -0
  356. package/dist/cli/lib/contract/deployments.js +46 -0
  357. package/dist/cli/lib/contract/deployments.js.map +1 -0
  358. package/dist/cli/lib/contract/desired-state.d.ts +104 -0
  359. package/dist/cli/lib/contract/desired-state.d.ts.map +1 -0
  360. package/dist/cli/lib/contract/desired-state.js +171 -0
  361. package/dist/cli/lib/contract/desired-state.js.map +1 -0
  362. package/dist/cli/lib/contract/foreign-credentials.d.ts +49 -0
  363. package/dist/cli/lib/contract/foreign-credentials.d.ts.map +1 -0
  364. package/dist/cli/lib/contract/foreign-credentials.js +71 -0
  365. package/dist/cli/lib/contract/foreign-credentials.js.map +1 -0
  366. package/dist/cli/lib/contract/logs.d.ts +44 -0
  367. package/dist/cli/lib/contract/logs.d.ts.map +1 -0
  368. package/dist/cli/lib/contract/logs.js +66 -0
  369. package/dist/cli/lib/contract/logs.js.map +1 -0
  370. package/dist/cli/lib/contract/projects.d.ts +31 -0
  371. package/dist/cli/lib/contract/projects.d.ts.map +1 -0
  372. package/dist/cli/lib/contract/projects.js +9 -0
  373. package/dist/cli/lib/contract/projects.js.map +1 -0
  374. package/dist/cli/lib/contract/public-error-details.d.ts +4 -0
  375. package/dist/cli/lib/contract/public-error-details.d.ts.map +1 -0
  376. package/dist/cli/lib/contract/public-error-details.js +248 -0
  377. package/dist/cli/lib/contract/public-error-details.js.map +1 -0
  378. package/dist/cli/lib/contract/runtime-operations.d.ts +87 -0
  379. package/dist/cli/lib/contract/runtime-operations.d.ts.map +1 -0
  380. package/dist/cli/lib/contract/runtime-operations.js +67 -0
  381. package/dist/cli/lib/contract/runtime-operations.js.map +1 -0
  382. package/dist/cli/lib/contract/seeds.d.ts +31 -0
  383. package/dist/cli/lib/contract/seeds.d.ts.map +1 -0
  384. package/dist/cli/lib/contract/seeds.js +43 -0
  385. package/dist/cli/lib/contract/seeds.js.map +1 -0
  386. package/dist/cli/lib/contract/source-repository.d.ts +73 -0
  387. package/dist/cli/lib/contract/source-repository.d.ts.map +1 -0
  388. package/dist/cli/lib/contract/source-repository.js +31 -0
  389. package/dist/cli/lib/contract/source-repository.js.map +1 -0
  390. package/dist/cli/lib/contract/wire-types.d.ts +47 -0
  391. package/dist/cli/lib/contract/wire-types.d.ts.map +1 -0
  392. package/dist/cli/lib/contract/wire-types.js +13 -0
  393. package/dist/cli/lib/contract/wire-types.js.map +1 -0
  394. package/dist/cli/lib/contract/wire-values.d.ts +6 -0
  395. package/dist/cli/lib/contract/wire-values.d.ts.map +1 -0
  396. package/dist/cli/lib/contract/wire-values.js +21 -0
  397. package/dist/cli/lib/contract/wire-values.js.map +1 -0
  398. package/dist/cli/lib/dotenv.d.ts +2 -0
  399. package/dist/cli/lib/dotenv.d.ts.map +1 -0
  400. package/dist/cli/lib/dotenv.js +28 -0
  401. package/dist/cli/lib/dotenv.js.map +1 -0
  402. package/dist/cli/lib/env-file.d.ts +2 -0
  403. package/dist/cli/lib/env-file.d.ts.map +1 -0
  404. package/dist/cli/lib/env-file.js +26 -0
  405. package/dist/cli/lib/env-file.js.map +1 -0
  406. package/dist/cli/lib/env-preflight.d.ts +24 -0
  407. package/dist/cli/lib/env-preflight.d.ts.map +1 -0
  408. package/dist/cli/lib/env-preflight.js +265 -0
  409. package/dist/cli/lib/env-preflight.js.map +1 -0
  410. package/dist/cli/lib/error-output.d.ts +3 -0
  411. package/dist/cli/lib/error-output.d.ts.map +1 -0
  412. package/dist/cli/lib/error-output.js +2 -0
  413. package/dist/cli/lib/error-output.js.map +1 -0
  414. package/dist/cli/lib/errors.d.ts +37 -0
  415. package/dist/cli/lib/errors.d.ts.map +1 -0
  416. package/dist/cli/lib/errors.js +147 -0
  417. package/dist/cli/lib/errors.js.map +1 -0
  418. package/dist/cli/lib/file-lock.d.ts +23 -0
  419. package/dist/cli/lib/file-lock.d.ts.map +1 -0
  420. package/dist/cli/lib/file-lock.js +121 -0
  421. package/dist/cli/lib/file-lock.js.map +1 -0
  422. package/dist/cli/lib/format.d.ts +6 -0
  423. package/dist/cli/lib/format.d.ts.map +1 -0
  424. package/dist/cli/lib/format.js +44 -0
  425. package/dist/cli/lib/format.js.map +1 -0
  426. package/dist/cli/lib/id-prefix.d.ts +6 -0
  427. package/dist/cli/lib/id-prefix.d.ts.map +1 -0
  428. package/dist/cli/lib/id-prefix.js +18 -0
  429. package/dist/cli/lib/id-prefix.js.map +1 -0
  430. package/dist/cli/lib/invocation.d.ts +6 -0
  431. package/dist/cli/lib/invocation.d.ts.map +1 -0
  432. package/dist/cli/lib/invocation.js +34 -0
  433. package/dist/cli/lib/invocation.js.map +1 -0
  434. package/dist/cli/lib/log-stream.d.ts +7 -0
  435. package/dist/cli/lib/log-stream.d.ts.map +1 -0
  436. package/dist/cli/lib/log-stream.js +179 -0
  437. package/dist/cli/lib/log-stream.js.map +1 -0
  438. package/dist/cli/lib/logger.d.ts +5 -0
  439. package/dist/cli/lib/logger.d.ts.map +1 -0
  440. package/dist/cli/lib/logger.js +52 -0
  441. package/dist/cli/lib/logger.js.map +1 -0
  442. package/dist/cli/lib/open-browser.d.ts +2 -0
  443. package/dist/cli/lib/open-browser.d.ts.map +1 -0
  444. package/dist/cli/lib/open-browser.js +8 -0
  445. package/dist/cli/lib/open-browser.js.map +1 -0
  446. package/dist/cli/lib/organization.d.ts +3 -0
  447. package/dist/cli/lib/organization.d.ts.map +1 -0
  448. package/dist/cli/lib/organization.js +20 -0
  449. package/dist/cli/lib/organization.js.map +1 -0
  450. package/dist/cli/lib/project-link.d.ts +12 -0
  451. package/dist/cli/lib/project-link.d.ts.map +1 -0
  452. package/dist/cli/lib/project-link.js +69 -0
  453. package/dist/cli/lib/project-link.js.map +1 -0
  454. package/dist/cli/lib/resolve.d.ts +20 -0
  455. package/dist/cli/lib/resolve.d.ts.map +1 -0
  456. package/dist/cli/lib/resolve.js +88 -0
  457. package/dist/cli/lib/resolve.js.map +1 -0
  458. package/dist/cli/lib/sleep.d.ts +2 -0
  459. package/dist/cli/lib/sleep.d.ts.map +1 -0
  460. package/dist/cli/lib/sleep.js +4 -0
  461. package/dist/cli/lib/sleep.js.map +1 -0
  462. package/dist/cli/lib/slug.d.ts +3 -0
  463. package/dist/cli/lib/slug.d.ts.map +1 -0
  464. package/dist/cli/lib/slug.js +13 -0
  465. package/dist/cli/lib/slug.js.map +1 -0
  466. package/dist/cli/lib/source-repository-link.d.ts +5 -0
  467. package/dist/cli/lib/source-repository-link.d.ts.map +1 -0
  468. package/dist/cli/lib/source-repository-link.js +28 -0
  469. package/dist/cli/lib/source-repository-link.js.map +1 -0
  470. package/dist/cli/lib/types.d.ts +58 -0
  471. package/dist/cli/lib/types.d.ts.map +1 -0
  472. package/dist/cli/lib/types.js +10 -0
  473. package/dist/cli/lib/types.js.map +1 -0
  474. package/dist/cli/root-options.d.ts +14 -0
  475. package/dist/cli/root-options.d.ts.map +1 -0
  476. package/dist/cli/root-options.js +53 -0
  477. package/dist/cli/root-options.js.map +1 -0
  478. package/dist/cli-plugin.d.ts +22 -0
  479. package/dist/cli-plugin.d.ts.map +1 -0
  480. package/dist/cli-plugin.js +30 -0
  481. package/dist/cli-plugin.js.map +1 -0
  482. package/dist/cloud-config-module.d.ts +3 -0
  483. package/dist/cloud-config-module.d.ts.map +1 -0
  484. package/dist/cloud-config-module.js +16 -0
  485. package/dist/cloud-config-module.js.map +1 -0
  486. package/dist/dev/cli-host.d.ts +3 -0
  487. package/dist/dev/cli-host.d.ts.map +1 -0
  488. package/dist/dev/cli-host.js +72 -0
  489. package/dist/dev/cli-host.js.map +1 -0
  490. package/dist/dev/dashboard-vite-config.d.ts +8 -0
  491. package/dist/dev/dashboard-vite-config.d.ts.map +1 -0
  492. package/dist/dev/dashboard-vite-config.js +52 -0
  493. package/dist/dev/dashboard-vite-config.js.map +1 -0
  494. package/dist/dev/dev-command.d.ts +7 -0
  495. package/dist/dev/dev-command.d.ts.map +1 -0
  496. package/dist/dev/dev-command.js +140 -0
  497. package/dist/dev/dev-command.js.map +1 -0
  498. package/dist/dev/dev-config.d.ts +4 -0
  499. package/dist/dev/dev-config.d.ts.map +1 -0
  500. package/dist/dev/dev-config.js +28 -0
  501. package/dist/dev/dev-config.js.map +1 -0
  502. package/dist/dev/dev-migrate.d.ts +2 -0
  503. package/dist/dev/dev-migrate.d.ts.map +1 -0
  504. package/dist/dev/dev-migrate.js +17 -0
  505. package/dist/dev/dev-migrate.js.map +1 -0
  506. package/dist/dev/dev-process.d.ts +2 -0
  507. package/dist/dev/dev-process.d.ts.map +1 -0
  508. package/dist/dev/dev-process.js +14 -0
  509. package/dist/dev/dev-process.js.map +1 -0
  510. package/dist/dev/dev-server.d.ts +2 -0
  511. package/dist/dev/dev-server.d.ts.map +1 -0
  512. package/dist/dev/dev-server.js +15 -0
  513. package/dist/dev/dev-server.js.map +1 -0
  514. package/dist/dev/dev-worker.d.ts +2 -0
  515. package/dist/dev/dev-worker.d.ts.map +1 -0
  516. package/dist/dev/dev-worker.js +11 -0
  517. package/dist/dev/dev-worker.js.map +1 -0
  518. package/dist/dev/local-services.d.ts +23 -0
  519. package/dist/dev/local-services.d.ts.map +1 -0
  520. package/dist/dev/local-services.js +288 -0
  521. package/dist/dev/local-services.js.map +1 -0
  522. package/dist/dev/project-layout.d.ts +11 -0
  523. package/dist/dev/project-layout.d.ts.map +1 -0
  524. package/dist/dev/project-layout.js +89 -0
  525. package/dist/dev/project-layout.js.map +1 -0
  526. package/dist/entrypoint.js +3 -12
  527. package/dist/entrypoint.js.map +1 -1
  528. package/dist/index.d.ts +4 -1
  529. package/dist/index.d.ts.map +1 -1
  530. package/dist/index.js +4 -1
  531. package/dist/index.js.map +1 -1
  532. package/dist/local-asset-server.d.ts +4 -0
  533. package/dist/local-asset-server.d.ts.map +1 -0
  534. package/dist/local-asset-server.js +24 -0
  535. package/dist/local-asset-server.js.map +1 -0
  536. package/dist/local-cache-plugin.d.ts +5 -0
  537. package/dist/local-cache-plugin.d.ts.map +1 -0
  538. package/dist/local-cache-plugin.js +68 -0
  539. package/dist/local-cache-plugin.js.map +1 -0
  540. package/dist/local-cache.d.ts +17 -0
  541. package/dist/local-cache.d.ts.map +1 -0
  542. package/dist/local-cache.js +144 -0
  543. package/dist/local-cache.js.map +1 -0
  544. package/dist/local-dashboard-plugin.d.ts +9 -0
  545. package/dist/local-dashboard-plugin.d.ts.map +1 -0
  546. package/dist/local-dashboard-plugin.js +37 -0
  547. package/dist/local-dashboard-plugin.js.map +1 -0
  548. package/dist/local-database.d.ts +15 -0
  549. package/dist/local-database.d.ts.map +1 -0
  550. package/dist/local-database.js +64 -0
  551. package/dist/local-database.js.map +1 -0
  552. package/dist/local-runtime.d.ts +15 -2
  553. package/dist/local-runtime.d.ts.map +1 -1
  554. package/dist/local-runtime.js +145 -28
  555. package/dist/local-runtime.js.map +1 -1
  556. package/dist/vite.d.ts +9 -0
  557. package/dist/vite.d.ts.map +1 -0
  558. package/dist/vite.js +94 -0
  559. package/dist/vite.js.map +1 -0
  560. package/package.json +72 -7
@@ -0,0 +1,179 @@
1
+ import * as prompts from "@clack/prompts";
2
+ import { isLogEntry, isLogStreamErrorFrame, isLogStreamReconnectFrame, isLogStreamTerminalFrame, } from "./contract/logs.js";
3
+ import { ApiError } from "./errors.js";
4
+ // The SSE reader behind `logs --follow` and `deployment logs --follow`, and behind the build-log
5
+ // follow that `deploy` does while it waits.
6
+ //
7
+ // It adds no contract of its own: every frame shape and every guard comes from
8
+ // `./contract/logs.js`.
9
+ //
10
+ // Reached only through `await import(...)` from a command's `run`. It pulls in `@clack/prompts` and
11
+ // the API client, which `test/cli-published-surface.test.ts` keeps off the cost of loading the
12
+ // plugin.
13
+ const UNEXPECTED_DISCONNECT_RETRY_MS = 1_000;
14
+ function formatTimestamp(iso) {
15
+ const date = new Date(iso);
16
+ if (Number.isNaN(date.getTime()))
17
+ return iso;
18
+ if (date.toDateString() === new Date().toDateString()) {
19
+ return date.toISOString().slice(11, 23);
20
+ }
21
+ return date.toISOString();
22
+ }
23
+ // The dim is written as a raw escape rather than through `picocolors`, which is what `vcloud` does:
24
+ // the timestamp is dimmed whether or not stdout is a terminal.
25
+ export function printLogLine(entry) {
26
+ const timestamp = `\x1b[2m${formatTimestamp(entry.timestamp)}\x1b[0m`;
27
+ process.stdout.write(`${timestamp} ${entry.message}\n`);
28
+ }
29
+ // Reads a log stream until it ends, and answers whether the customer interrupted it.
30
+ //
31
+ // `expectTerminalFrame` is the build-log case: that stream ends with a terminal frame when the
32
+ // Build Step finishes, so anything else is a disconnect to reconnect through rather than the end of
33
+ // the output. A runtime log stream has no such end, so a clean close there is the end of the
34
+ // command.
35
+ export async function consumeLogStream(client, path, options = {}) {
36
+ const controller = new AbortController();
37
+ const onSignal = () => controller.abort();
38
+ process.on("SIGINT", onSignal);
39
+ process.on("SIGTERM", onSignal);
40
+ try {
41
+ let resumeCursor;
42
+ while (!controller.signal.aborted) {
43
+ try {
44
+ const streamPath = withResumeCursor(path, resumeCursor);
45
+ const response = await client.stream(streamPath, controller.signal);
46
+ if (!response.body) {
47
+ throw new Error("No response body received for log stream");
48
+ }
49
+ const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
50
+ let buffer = "";
51
+ let reconnect = false;
52
+ let terminal = false;
53
+ while (true) {
54
+ const { done, value } = await reader.read();
55
+ if (done)
56
+ break;
57
+ buffer += value;
58
+ const lines = buffer.split("\n");
59
+ buffer = lines.pop() ?? "";
60
+ for (const rawLine of lines) {
61
+ const frame = readFrame(rawLine);
62
+ if (frame.kind === "skip")
63
+ continue;
64
+ if (frame.kind === "reconnect") {
65
+ reconnect = true;
66
+ break;
67
+ }
68
+ if (frame.kind === "terminal") {
69
+ terminal = true;
70
+ break;
71
+ }
72
+ printLogLine({ timestamp: frame.entry.timestamp ?? "", message: frame.entry.message });
73
+ if (frame.entry.resumeCursor)
74
+ resumeCursor = frame.entry.resumeCursor;
75
+ }
76
+ if (reconnect || terminal)
77
+ break;
78
+ }
79
+ if (terminal) {
80
+ await reader.cancel();
81
+ return false;
82
+ }
83
+ if (reconnect) {
84
+ await reader.cancel();
85
+ continue;
86
+ }
87
+ if (!controller.signal.aborted && options.expectTerminalFrame) {
88
+ prompts.log.warn("Build log stream disconnected. Reconnecting...");
89
+ await waitForReconnect(controller.signal);
90
+ continue;
91
+ }
92
+ if (!controller.signal.aborted) {
93
+ prompts.log.warn("Log stream ended. Run the command again to reconnect.");
94
+ }
95
+ return controller.signal.aborted;
96
+ }
97
+ catch (error) {
98
+ if (controller.signal.aborted)
99
+ return true;
100
+ if (options.expectTerminalFrame && isTransportError(error)) {
101
+ prompts.log.warn("Build log stream disconnected. Reconnecting...");
102
+ await waitForReconnect(controller.signal);
103
+ continue;
104
+ }
105
+ throw error;
106
+ }
107
+ }
108
+ return true;
109
+ }
110
+ catch (error) {
111
+ if (isAbortError(error))
112
+ return true;
113
+ throw error;
114
+ }
115
+ finally {
116
+ process.off("SIGINT", onSignal);
117
+ process.off("SIGTERM", onSignal);
118
+ }
119
+ }
120
+ // Decodes one raw SSE line into the action the reader loop takes for it. A malformed payload and a
121
+ // typed error frame both throw here, so the caller only has to deal with the outcomes it can act
122
+ // on.
123
+ function readFrame(rawLine) {
124
+ const line = rawLine.endsWith("\r") ? rawLine.slice(0, -1) : rawLine;
125
+ if (!line.startsWith("data:"))
126
+ return { kind: "skip" };
127
+ const json = line.slice(5).trimStart();
128
+ if (!json)
129
+ return { kind: "skip" };
130
+ let payload;
131
+ try {
132
+ payload = JSON.parse(json);
133
+ }
134
+ catch {
135
+ throw new Error("Received malformed log stream data.");
136
+ }
137
+ if (isLogStreamErrorFrame(payload)) {
138
+ throw new ApiError(payload.streamError.statusCode, payload.streamError);
139
+ }
140
+ if (isLogStreamReconnectFrame(payload))
141
+ return { kind: "reconnect" };
142
+ if (isLogStreamTerminalFrame(payload))
143
+ return { kind: "terminal" };
144
+ if (!isLogEntry(payload)) {
145
+ throw new Error("Received malformed log stream data.");
146
+ }
147
+ return { kind: "entry", entry: payload };
148
+ }
149
+ function withResumeCursor(path, cursor) {
150
+ if (!cursor)
151
+ return path;
152
+ const separatorIndex = path.indexOf("?");
153
+ const pathname = separatorIndex === -1 ? path : path.slice(0, separatorIndex);
154
+ const query = new URLSearchParams(separatorIndex === -1 ? "" : path.slice(separatorIndex + 1));
155
+ query.set("cursor", cursor);
156
+ return `${pathname}?${query}`;
157
+ }
158
+ function isAbortError(error) {
159
+ return error instanceof DOMException && error.name === "AbortError";
160
+ }
161
+ function isTransportError(error) {
162
+ return (error instanceof TypeError || (error instanceof DOMException && error.name !== "AbortError"));
163
+ }
164
+ async function waitForReconnect(signal) {
165
+ if (signal.aborted)
166
+ return;
167
+ await new Promise((resolve) => {
168
+ const onAbort = () => {
169
+ clearTimeout(timer);
170
+ resolve();
171
+ };
172
+ const timer = setTimeout(() => {
173
+ signal.removeEventListener("abort", onAbort);
174
+ resolve();
175
+ }, UNEXPECTED_DISCONNECT_RETRY_MS);
176
+ signal.addEventListener("abort", onAbort, { once: true });
177
+ });
178
+ }
179
+ //# sourceMappingURL=log-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-stream.js","sourceRoot":"","sources":["../../../src/cli/lib/log-stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import pino from "pino";
2
+ export declare const LOG_FILE_ENV_VAR = "VENDURE_CLOUD_LOG_FILE";
3
+ export declare function resolveLogFile(): string;
4
+ export declare const logger: pino.Logger<never, boolean>;
5
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/logger.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAIzD,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AA4CD,eAAO,MAAM,MAAM,6BAAmD,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { mkdirSync, writeFileSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import pino from "pino";
4
+ import { CONFIG_DIR } from "./config.js";
5
+ export const LOG_FILE_ENV_VAR = "VENDURE_CLOUD_LOG_FILE";
6
+ // Resolved when the destination opens rather than at module load, so a test can
7
+ // redirect the log after this module has been imported.
8
+ export function resolveLogFile() {
9
+ const override = process.env[LOG_FILE_ENV_VAR]?.trim();
10
+ return override ? override : join(CONFIG_DIR, "cli.log");
11
+ }
12
+ // The log file is opened by the first line the CLI writes. Opening it while this
13
+ // module is imported would reach ~/.vendure-cloud from anything that imports the
14
+ // logger, down to a unit test that only wanted a module two imports away. The
15
+ // truncate below would then destroy the log the developer was reading.
16
+ function createLogDestination() {
17
+ let destination;
18
+ let target;
19
+ let stopped = false;
20
+ return {
21
+ write(line) {
22
+ if (stopped) {
23
+ return;
24
+ }
25
+ if (target === undefined) {
26
+ target = resolveLogFile();
27
+ }
28
+ try {
29
+ if (!destination) {
30
+ mkdirSync(dirname(target), { recursive: true });
31
+ // Each run of the CLI starts from an empty log.
32
+ writeFileSync(target, "", "utf-8");
33
+ destination = pino.destination({ dest: target, append: true, sync: true });
34
+ }
35
+ destination.write(line);
36
+ }
37
+ catch (error) {
38
+ // Failing the command the user asked for because its log file cannot be
39
+ // written would be worse than not logging. Saying nothing would be worse
40
+ // still: they would read a log that stops at an arbitrary point and take
41
+ // it for the whole run. The open and the write share this handler
42
+ // because a disk that fills mid-run costs the reader the same thing as
43
+ // one that was never writable.
44
+ stopped = true;
45
+ const reason = error instanceof Error ? error.message : String(error);
46
+ process.stderr.write(`Vendure Cloud: could not write the log file at ${target} (${reason}). The rest of this run is not being logged.\n`);
47
+ }
48
+ },
49
+ };
50
+ }
51
+ export const logger = pino({ level: "debug" }, createLogDestination());
52
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/cli/lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAEzD,gFAAgF;AAChF,wDAAwD;AACxD,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;IACvD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,uEAAuE;AACvE,SAAS,oBAAoB;IAC3B,IAAI,WAA+C,CAAC;IACpD,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO;QACL,KAAK,CAAC,IAAY;YAChB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,cAAc,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChD,gDAAgD;oBAChD,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;oBACnC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBACD,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wEAAwE;gBACxE,yEAAyE;gBACzE,yEAAyE;gBACzE,kEAAkE;gBAClE,uEAAuE;gBACvE,+BAA+B;gBAC/B,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kDAAkD,MAAM,KAAK,MAAM,gDAAgD,CACpH,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function openBrowser(url: string): void;
2
+ //# sourceMappingURL=open-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-browser.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/open-browser.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAK7C"}
@@ -0,0 +1,8 @@
1
+ import { execFile } from "node:child_process";
2
+ export function openBrowser(url) {
3
+ const parsed = new URL(url);
4
+ const platform = process.platform;
5
+ const cmd = platform === "darwin" ? "open" : platform === "win32" ? "start" : "xdg-open";
6
+ execFile(cmd, [parsed.href]);
7
+ }
8
+ //# sourceMappingURL=open-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-browser.js","sourceRoot":"","sources":["../../../src/cli/lib/open-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IACzF,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ApiClient } from "./api-client.js";
2
+ export declare function getAuthenticatedOrganizationSlug(client: ApiClient): Promise<string>;
3
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/organization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,wBAAsB,gCAAgC,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBzF"}
@@ -0,0 +1,20 @@
1
+ import { readAuthConfig } from "./auth.js";
2
+ import { cloudInvocation } from "./invocation.js";
3
+ export async function getAuthenticatedOrganizationSlug(client) {
4
+ // The client sends an organization header only for the stored session, and
5
+ // the id it sends is the one the membership list is keyed on. Without it —
6
+ // an API key — only the control plane knows which organization this
7
+ // credential belongs to.
8
+ if (client.organizationId) {
9
+ const authConfig = readAuthConfig();
10
+ const activeOrganization = authConfig?.organizations.find((organization) => organization.id === client.organizationId);
11
+ if (activeOrganization)
12
+ return activeOrganization.slug;
13
+ }
14
+ const me = await client.get("/auth/me");
15
+ if (!me.dbOrganization?.slug) {
16
+ throw new Error(`No active organization. Run \`${cloudInvocation()} login\` or \`${cloudInvocation()} org switch\`.`);
17
+ }
18
+ return me.dbOrganization.slug;
19
+ }
20
+ //# sourceMappingURL=organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../../src/cli/lib/organization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,MAAiB;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,oEAAoE;IACpE,yBAAyB;IACzB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;QACpC,MAAM,kBAAkB,GAAG,UAAU,EAAE,aAAa,CAAC,IAAI,CACvD,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,MAAM,CAAC,cAAc,CAC5D,CAAC;QACF,IAAI,kBAAkB;YAAE,OAAO,kBAAkB,CAAC,IAAI,CAAC;IACzD,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAyC,UAAU,CAAC,CAAC;IAChF,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,iCAAiC,eAAe,EAAE,iBAAiB,eAAe,EAAE,gBAAgB,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;AAChC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare const PROJECT_LINK_DIR = ".vendure-cloud";
2
+ export declare const PROJECT_LINK_FILENAME = "project.json";
3
+ export interface ProjectLink {
4
+ organization: string;
5
+ project: string;
6
+ }
7
+ export declare function findProjectLink(startDir?: string): string | null;
8
+ export declare function findProjectRoot(startDir?: string): string | null;
9
+ export declare function readProjectLink(startDir?: string): ProjectLink | null;
10
+ export declare function writeProjectLink(rootDir: string, link: ProjectLink): string;
11
+ export declare function removeProjectLink(startDir?: string): string | null;
12
+ //# sourceMappingURL=project-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-link.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/project-link.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AACjD,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,QAAQ,SAAgB,GAAG,MAAM,GAAG,IAAI,CAUvE;AAMD,wBAAgB,eAAe,CAAC,QAAQ,SAAgB,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED,wBAAgB,eAAe,CAAC,QAAQ,SAAgB,GAAG,WAAW,GAAG,IAAI,CAiB5E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAM3E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,SAAgB,GAAG,MAAM,GAAG,IAAI,CAKzE"}
@@ -0,0 +1,69 @@
1
+ import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
2
+ import { dirname, join, parse, resolve } from "node:path";
3
+ export const PROJECT_LINK_DIR = ".vendure-cloud";
4
+ export const PROJECT_LINK_FILENAME = "project.json";
5
+ export function findProjectLink(startDir = process.cwd()) {
6
+ let directory = resolve(startDir);
7
+ const root = parse(directory).root;
8
+ while (true) {
9
+ const candidate = join(directory, PROJECT_LINK_DIR, PROJECT_LINK_FILENAME);
10
+ if (existsSync(candidate))
11
+ return candidate;
12
+ if (directory === root)
13
+ return null;
14
+ directory = dirname(directory);
15
+ }
16
+ }
17
+ // Directory that owns the project link (`.vendure-cloud/project.json` lives in
18
+ // its `.vendure-cloud/`), found by walking up from `startDir`. This is the
19
+ // project root the CLI resolves context from, so commands can run from any
20
+ // subdirectory; returns null when no link is found.
21
+ export function findProjectRoot(startDir = process.cwd()) {
22
+ const link = findProjectLink(startDir);
23
+ return link ? dirname(dirname(link)) : null;
24
+ }
25
+ export function readProjectLink(startDir = process.cwd()) {
26
+ const file = findProjectLink(startDir);
27
+ if (!file)
28
+ return null;
29
+ let value;
30
+ try {
31
+ value = JSON.parse(readFileSync(file, "utf-8"));
32
+ }
33
+ catch {
34
+ throw new Error(`Invalid Vendure Cloud project link: ${file}`);
35
+ }
36
+ if (!isProjectLink(value)) {
37
+ throw new Error(`Invalid Vendure Cloud project link: ${file} must contain only organization and project slugs.`);
38
+ }
39
+ return value;
40
+ }
41
+ export function writeProjectLink(rootDir, link) {
42
+ const directory = join(resolve(rootDir), PROJECT_LINK_DIR);
43
+ const file = join(directory, PROJECT_LINK_FILENAME);
44
+ mkdirSync(directory, { recursive: true });
45
+ writeFileSync(file, `${JSON.stringify(link, null, 2)}\n`, "utf-8");
46
+ return file;
47
+ }
48
+ export function removeProjectLink(startDir = process.cwd()) {
49
+ const file = findProjectLink(startDir);
50
+ if (!file)
51
+ return null;
52
+ unlinkSync(file);
53
+ return file;
54
+ }
55
+ function isProjectLink(value) {
56
+ if (!value || typeof value !== "object" || Array.isArray(value))
57
+ return false;
58
+ const record = value;
59
+ const keys = Object.keys(record).sort();
60
+ return (keys.length === 2 &&
61
+ keys[0] === "organization" &&
62
+ keys[1] === "project" &&
63
+ isSlug(record.organization) &&
64
+ isSlug(record.project));
65
+ }
66
+ function isSlug(value) {
67
+ return typeof value === "string" && /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(value);
68
+ }
69
+ //# sourceMappingURL=project-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-link.js","sourceRoot":"","sources":["../../../src/cli/lib/project-link.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { CredentialOptions, GlobalOptions } from "../root-options.js";
2
+ import { type ApiClient } from "./api-client.js";
3
+ import type { Environment, Project } from "./types.js";
4
+ /**
5
+ * Takes the root options so an explicit `--token` reaches the client. Every
6
+ * command that talks to the control plane goes through here, and the parameter
7
+ * is required so a new one cannot quietly fall back to the stored session.
8
+ */
9
+ export declare function createAuthenticatedClient(options: CredentialOptions): ApiClient;
10
+ export declare function resolveProject(options: GlobalOptions): Promise<Project>;
11
+ export declare function findProject(identifier: string, options: CredentialOptions): Promise<Project>;
12
+ export declare function listProjects(client: ApiClient): Promise<Project[]>;
13
+ export declare function findProjectOrNull(projects: readonly Project[], identifier: string): Project | null;
14
+ export declare function listEnvironments(client: ApiClient, projectId: string): Promise<Environment[]>;
15
+ export declare function findEnvironmentOrNull(environments: readonly Environment[], identifier: string): Environment | null;
16
+ export declare function resolveEnvironment(options: GlobalOptions): Promise<{
17
+ project: Project;
18
+ environment: Environment;
19
+ }>;
20
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,iBAAiB,CAAC;AAOlE,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAwB/E;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAY7E;AAeD,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAElE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,GAAG,IAAI,CAIhB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAE7F;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,UAAU,EAAE,MAAM,GACjB,WAAW,GAAG,IAAI,CAMpB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CAqBzD"}
@@ -0,0 +1,88 @@
1
+ import { createApiClient } from "./api-client.js";
2
+ import { refreshAccessToken, resolveCredential } from "./auth.js";
3
+ import { getApiUrl } from "./config.js";
4
+ import { readContext } from "./context.js";
5
+ import { cloudInvocation } from "./invocation.js";
6
+ import { getAuthenticatedOrganizationSlug } from "./organization.js";
7
+ import { readProjectLink } from "./project-link.js";
8
+ /**
9
+ * Takes the root options so an explicit `--token` reaches the client. Every
10
+ * command that talks to the control plane goes through here, and the parameter
11
+ * is required so a new one cannot quietly fall back to the stored session.
12
+ */
13
+ export function createAuthenticatedClient(options) {
14
+ const credential = resolveCredential(options);
15
+ if (!credential) {
16
+ throw new Error(`Not logged in. Run \`${cloudInvocation()} login\` to authenticate.`);
17
+ }
18
+ if (credential.kind === "apiKey") {
19
+ // No organization header: the control plane resolves an API key's own
20
+ // organization, so sending a locally selected one could only contradict
21
+ // it — and a machine running on a key alone has never selected one. No
22
+ // refresh callback either: the stored session's refresh token belongs to
23
+ // a different credential.
24
+ return createApiClient({ baseUrl: getApiUrl(), apiKey: credential.token });
25
+ }
26
+ if (!credential.organizationId) {
27
+ throw new Error(`No active organization. Run \`${cloudInvocation()} login\` to authenticate.`);
28
+ }
29
+ return createApiClient({
30
+ baseUrl: getApiUrl(),
31
+ token: credential.token,
32
+ organizationId: credential.organizationId,
33
+ onUnauthorized: (failedToken) => refreshAccessToken(failedToken),
34
+ });
35
+ }
36
+ export async function resolveProject(options) {
37
+ if (options.project)
38
+ return findProject(options.project, options);
39
+ const projectLink = readProjectLink();
40
+ if (projectLink) {
41
+ await assertActiveOrganization(projectLink.organization, options);
42
+ return findProject(projectLink.project, options);
43
+ }
44
+ throw new Error(`No project selected. Use --project <slug-or-id> or run \`${cloudInvocation()} project link <slug-or-id>\` in a Git repository.`);
45
+ }
46
+ async function assertActiveOrganization(expectedSlug, options) {
47
+ const client = createAuthenticatedClient(options);
48
+ const activeOrganizationSlug = await getAuthenticatedOrganizationSlug(client);
49
+ if (activeOrganizationSlug !== expectedSlug) {
50
+ throw new Error(`This repository is linked to organization "${expectedSlug}", but "${activeOrganizationSlug}" is active. Run \`${cloudInvocation()} org switch\`.`);
51
+ }
52
+ }
53
+ export async function findProject(identifier, options) {
54
+ const client = createAuthenticatedClient(options);
55
+ const project = findProjectOrNull(await listProjects(client), identifier);
56
+ if (!project) {
57
+ throw new Error(`Project "${identifier}" not found in your organization.`);
58
+ }
59
+ return project;
60
+ }
61
+ export function listProjects(client) {
62
+ return client.get("/projects");
63
+ }
64
+ export function findProjectOrNull(projects, identifier) {
65
+ return (projects.find((project) => project.slug === identifier || project.id === identifier) ?? null);
66
+ }
67
+ export function listEnvironments(client, projectId) {
68
+ return client.get(`/environments?projectId=${projectId}`);
69
+ }
70
+ export function findEnvironmentOrNull(environments, identifier) {
71
+ return (environments.find((environment) => environment.slug === identifier || environment.id === identifier) ?? null);
72
+ }
73
+ export async function resolveEnvironment(options) {
74
+ const project = await resolveProject(options);
75
+ const context = readContext();
76
+ const environmentIdentifier = options.environment ?? context.environmentsByProject?.[project.id];
77
+ if (!environmentIdentifier) {
78
+ throw new Error(`No environment specified. Use --environment <name> or run \`${cloudInvocation()} use <environment>\` to set a default.`);
79
+ }
80
+ const client = createAuthenticatedClient(options);
81
+ const environments = await listEnvironments(client, project.id);
82
+ const environment = findEnvironmentOrNull(environments, environmentIdentifier);
83
+ if (!environment) {
84
+ throw new Error(`Environment "${environmentIdentifier}" not found in project "${project.slug}". Available: ${environments.map((e) => e.slug).join(", ") || "none"}`);
85
+ }
86
+ return { project, environment };
87
+ }
88
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/cli/lib/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function sleep(ms: number): Promise<void>;
2
+ //# sourceMappingURL=sleep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/sleep.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -0,0 +1,4 @@
1
+ export function sleep(ms) {
2
+ return new Promise((resolve) => setTimeout(resolve, ms));
3
+ }
4
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../../src/cli/lib/sleep.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function toSlug(name: string): string;
2
+ export declare function slugToName(slug: string): string;
3
+ //# sourceMappingURL=slug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/slug.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C"}
@@ -0,0 +1,13 @@
1
+ export function toSlug(name) {
2
+ return name
3
+ .toLowerCase()
4
+ .replace(/[^a-z0-9]+/g, "-")
5
+ .replace(/^-|-$/g, "");
6
+ }
7
+ export function slugToName(slug) {
8
+ return slug
9
+ .split("-")
10
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
11
+ .join(" ");
12
+ }
13
+ //# sourceMappingURL=slug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../../src/cli/lib/slug.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ApiClient } from "./api-client.js";
2
+ import type { SourceBranchMappingDetails, SourceRepositoryLinkDetails } from "./contract/source-repository.js";
3
+ export declare function getRepositoryLinkOrNull(client: ApiClient, projectId: string): Promise<SourceRepositoryLinkDetails | null>;
4
+ export declare function getBranchMappingOrNull(client: ApiClient, environmentId: string): Promise<SourceBranchMappingDetails | null>;
5
+ //# sourceMappingURL=source-repository-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-repository-link.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/source-repository-link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,iCAAiC,CAAC;AAczC,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAE7C;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAE5C"}
@@ -0,0 +1,28 @@
1
+ import { ApiError } from "./errors.js";
2
+ // Reading a VC Project's Source Repository Link and a VC Environment's branch mapping.
3
+ //
4
+ // One implementation on the shared boundary because two families need it: the VC Project
5
+ // configuration family's `init`, `source map`, `source status`, `source connect` and
6
+ // `source disconnect`, and the VC Deployment family's `deploy` and `deploy plan`.
7
+ //
8
+ // A 404 is an answer, not a failure: the VC Project has no Source Repository Link, or the VC
9
+ // Environment has no branch mapping. Every other status stays an error, so a 403 or a 500 is not
10
+ // quietly read as "not configured" — which for `deploy` would replace an outage with the guidance
11
+ // to run `source connect`.
12
+ export async function getRepositoryLinkOrNull(client, projectId) {
13
+ return getOrNull(client, `/projects/${projectId}/source-repository-link`);
14
+ }
15
+ export async function getBranchMappingOrNull(client, environmentId) {
16
+ return getOrNull(client, `/environments/${environmentId}/source-branch-mapping`);
17
+ }
18
+ async function getOrNull(client, path) {
19
+ try {
20
+ return await client.get(path);
21
+ }
22
+ catch (error) {
23
+ if (error instanceof ApiError && error.status === 404)
24
+ return null;
25
+ throw error;
26
+ }
27
+ }
28
+ //# sourceMappingURL=source-repository-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-repository-link.js","sourceRoot":"","sources":["../../../src/cli/lib/source-repository-link.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,uFAAuF;AACvF,EAAE;AACF,yFAAyF;AACzF,qFAAqF;AACrF,kFAAkF;AAClF,EAAE;AACF,6FAA6F;AAC7F,iGAAiG;AACjG,kGAAkG;AAClG,2BAA2B;AAE3B,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAiB,EACjB,SAAiB;IAEjB,OAAO,SAAS,CAAC,MAAM,EAAE,aAAa,SAAS,yBAAyB,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAiB,EACjB,aAAqB;IAErB,OAAO,SAAS,CAAC,MAAM,EAAE,iBAAiB,aAAa,wBAAwB,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,SAAS,CAAI,MAAiB,EAAE,IAAY;IACzD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACnE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}