heroku 9.0.0-alpha.0 → 9.0.0-alpha.2

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 (544) hide show
  1. package/README.md +9 -11
  2. package/lib/commands/access/add.d.ts +14 -0
  3. package/lib/commands/access/add.js +55 -0
  4. package/lib/commands/access/index.d.ts +11 -0
  5. package/lib/commands/access/index.js +86 -0
  6. package/lib/commands/access/remove.d.ts +12 -0
  7. package/lib/commands/access/remove.js +25 -0
  8. package/lib/commands/access/update.d.ts +14 -0
  9. package/lib/commands/access/update.js +39 -0
  10. package/lib/commands/addons/attach.d.ts +16 -0
  11. package/lib/commands/addons/attach.js +51 -0
  12. package/lib/commands/addons/create.d.ts +19 -0
  13. package/lib/commands/addons/create.js +84 -0
  14. package/lib/commands/addons/destroy.d.ts +19 -0
  15. package/lib/commands/addons/destroy.js +61 -0
  16. package/lib/commands/addons/detach.d.ts +13 -0
  17. package/lib/commands/addons/detach.js +31 -0
  18. package/lib/commands/addons/docs.d.ts +14 -0
  19. package/lib/commands/addons/docs.js +36 -0
  20. package/lib/commands/addons/index.d.ts +16 -0
  21. package/lib/commands/addons/index.js +246 -0
  22. package/lib/commands/addons/info.d.ts +14 -0
  23. package/lib/commands/addons/info.js +44 -0
  24. package/lib/commands/addons/open.d.ts +75 -0
  25. package/lib/commands/addons/open.js +87 -0
  26. package/lib/commands/addons/plans.d.ts +12 -0
  27. package/lib/commands/addons/plans.js +47 -0
  28. package/lib/commands/addons/rename.d.ts +10 -0
  29. package/lib/commands/addons/rename.js +20 -0
  30. package/lib/commands/addons/services.d.ts +9 -0
  31. package/lib/commands/addons/services.js +34 -0
  32. package/lib/commands/addons/upgrade.d.ts +28 -0
  33. package/lib/commands/addons/upgrade.js +145 -0
  34. package/lib/commands/addons/wait.d.ts +14 -0
  35. package/lib/commands/addons/wait.js +70 -0
  36. package/lib/commands/apps/create.d.ts +28 -0
  37. package/lib/commands/apps/create.js +201 -0
  38. package/lib/commands/apps/destroy.d.ts +15 -0
  39. package/lib/commands/apps/destroy.js +47 -0
  40. package/lib/commands/apps/errors.d.ts +13 -0
  41. package/lib/commands/apps/errors.js +120 -0
  42. package/lib/commands/apps/favorites/add.d.ts +10 -0
  43. package/lib/commands/apps/favorites/add.js +38 -0
  44. package/lib/commands/apps/favorites/index.d.ts +9 -0
  45. package/lib/commands/apps/favorites/index.js +25 -0
  46. package/lib/commands/apps/favorites/remove.d.ts +10 -0
  47. package/lib/commands/apps/favorites/remove.js +28 -0
  48. package/lib/commands/apps/index.d.ts +16 -0
  49. package/lib/commands/apps/index.js +119 -0
  50. package/lib/commands/apps/info.d.ts +19 -0
  51. package/lib/commands/apps/info.js +162 -0
  52. package/lib/commands/apps/join.d.ts +11 -0
  53. package/lib/commands/apps/join.js +25 -0
  54. package/lib/commands/apps/leave.d.ts +12 -0
  55. package/lib/commands/apps/leave.js +25 -0
  56. package/lib/commands/apps/lock.d.ts +11 -0
  57. package/lib/commands/apps/lock.js +30 -0
  58. package/lib/commands/apps/open.d.ts +15 -0
  59. package/lib/commands/apps/open.js +30 -0
  60. package/lib/commands/apps/rename.d.ts +16 -0
  61. package/lib/commands/apps/rename.js +51 -0
  62. package/lib/commands/apps/stacks/index.d.ts +11 -0
  63. package/lib/commands/apps/stacks/index.js +44 -0
  64. package/lib/commands/apps/stacks/set.d.ts +14 -0
  65. package/lib/commands/apps/stacks/set.js +41 -0
  66. package/lib/commands/apps/transfer.d.ts +17 -0
  67. package/lib/commands/apps/transfer.js +91 -0
  68. package/lib/commands/apps/unlock.d.ts +11 -0
  69. package/lib/commands/apps/unlock.js +30 -0
  70. package/lib/commands/auth/logout.js +1 -0
  71. package/lib/commands/auth/token.js +2 -1
  72. package/lib/commands/authorizations/create.js +5 -1
  73. package/lib/commands/authorizations/info.js +5 -1
  74. package/lib/commands/authorizations/revoke.js +5 -1
  75. package/lib/commands/authorizations/rotate.js +5 -1
  76. package/lib/commands/authorizations/update.js +5 -1
  77. package/lib/commands/autocomplete/doctor.js +2 -2
  78. package/lib/commands/autocomplete/options.js +2 -2
  79. package/lib/commands/certs/add.d.ts +16 -0
  80. package/lib/commands/certs/add.js +98 -0
  81. package/lib/commands/certs/auto/disable.d.ts +11 -0
  82. package/lib/commands/certs/auto/disable.js +34 -0
  83. package/lib/commands/certs/auto/enable.d.ts +11 -0
  84. package/lib/commands/certs/auto/enable.js +51 -0
  85. package/lib/commands/certs/auto/index.d.ts +12 -0
  86. package/lib/commands/certs/auto/index.js +94 -0
  87. package/lib/commands/certs/auto/refresh.d.ts +10 -0
  88. package/lib/commands/certs/auto/refresh.js +19 -0
  89. package/lib/commands/certs/generate.d.ts +26 -0
  90. package/lib/commands/certs/generate.js +111 -0
  91. package/lib/commands/certs/index.d.ts +10 -0
  92. package/lib/commands/certs/index.js +26 -0
  93. package/lib/commands/certs/info.d.ts +13 -0
  94. package/lib/commands/certs/info.js +43 -0
  95. package/lib/commands/certs/remove.d.ts +13 -0
  96. package/lib/commands/certs/remove.js +32 -0
  97. package/lib/commands/certs/update.d.ts +18 -0
  98. package/lib/commands/certs/update.js +54 -0
  99. package/lib/commands/ci/config/get.d.ts +1 -0
  100. package/lib/commands/ci/config/get.js +1 -0
  101. package/lib/commands/ci/config/index.d.ts +12 -0
  102. package/lib/commands/ci/config/index.js +43 -0
  103. package/lib/commands/ci/config/set.d.ts +3 -2
  104. package/lib/commands/ci/config/set.js +3 -6
  105. package/lib/commands/ci/config/unset.d.ts +14 -0
  106. package/lib/commands/ci/config/unset.js +36 -0
  107. package/lib/commands/ci/index.d.ts +1 -0
  108. package/lib/commands/ci/index.js +1 -0
  109. package/lib/commands/ci/info.d.ts +1 -0
  110. package/lib/commands/ci/info.js +1 -0
  111. package/lib/commands/ci/last.d.ts +1 -0
  112. package/lib/commands/ci/last.js +1 -0
  113. package/lib/commands/ci/migrate-manifest.d.ts +7 -0
  114. package/lib/commands/ci/migrate-manifest.js +74 -0
  115. package/lib/commands/ci/open.d.ts +1 -0
  116. package/lib/commands/ci/open.js +1 -0
  117. package/lib/commands/ci/rerun.d.ts +1 -0
  118. package/lib/commands/ci/rerun.js +1 -0
  119. package/lib/commands/config/set.d.ts +12 -0
  120. package/lib/commands/config/set.js +60 -0
  121. package/lib/commands/container/index.d.ts +6 -0
  122. package/lib/commands/container/index.js +13 -0
  123. package/lib/commands/container/login.d.ts +9 -0
  124. package/lib/commands/container/login.js +57 -0
  125. package/lib/commands/container/logout.d.ts +9 -0
  126. package/lib/commands/container/logout.js +37 -0
  127. package/lib/commands/container/pull.d.ts +14 -0
  128. package/lib/commands/container/pull.js +40 -0
  129. package/lib/commands/container/push.d.ts +16 -0
  130. package/lib/commands/container/push.js +101 -0
  131. package/lib/commands/container/release.d.ts +14 -0
  132. package/lib/commands/container/release.js +89 -0
  133. package/lib/commands/container/rm.d.ts +13 -0
  134. package/lib/commands/container/rm.js +36 -0
  135. package/lib/commands/container/run.d.ts +15 -0
  136. package/lib/commands/container/run.js +63 -0
  137. package/lib/commands/dashboard.d.ts +7 -0
  138. package/lib/commands/dashboard.js +164 -0
  139. package/lib/commands/domains/index.d.ts +3 -3
  140. package/lib/commands/drains/add.d.ts +12 -0
  141. package/lib/commands/drains/add.js +23 -0
  142. package/lib/commands/drains/index.d.ts +11 -0
  143. package/lib/commands/drains/index.js +50 -0
  144. package/lib/commands/drains/remove.d.ts +13 -0
  145. package/lib/commands/drains/remove.js +22 -0
  146. package/lib/commands/features/disable.d.ts +12 -0
  147. package/lib/commands/features/disable.js +30 -0
  148. package/lib/commands/features/enable.d.ts +12 -0
  149. package/lib/commands/features/enable.js +29 -0
  150. package/lib/commands/features/index.d.ts +10 -0
  151. package/lib/commands/features/index.js +37 -0
  152. package/lib/commands/features/info.d.ts +13 -0
  153. package/lib/commands/features/info.js +33 -0
  154. package/lib/commands/keys/add.d.ts +14 -0
  155. package/lib/commands/keys/add.js +101 -0
  156. package/lib/commands/keys/clear.d.ts +5 -0
  157. package/lib/commands/keys/clear.js +17 -0
  158. package/lib/commands/keys/index.d.ts +9 -0
  159. package/lib/commands/keys/index.js +36 -0
  160. package/lib/commands/keys/remove.d.ts +9 -0
  161. package/lib/commands/keys/remove.js +29 -0
  162. package/lib/commands/labs/enable.d.ts +13 -0
  163. package/lib/commands/labs/enable.js +47 -0
  164. package/lib/commands/labs/index.d.ts +11 -0
  165. package/lib/commands/labs/index.js +71 -0
  166. package/lib/commands/labs/info.d.ts +14 -0
  167. package/lib/commands/labs/info.js +49 -0
  168. package/lib/commands/local/index.d.ts +1 -1
  169. package/lib/commands/local/index.js +8 -3
  170. package/lib/commands/local/run.d.ts +1 -1
  171. package/lib/commands/local/run.js +8 -3
  172. package/lib/commands/maintenance/index.d.ts +10 -0
  173. package/lib/commands/maintenance/index.js +19 -0
  174. package/lib/commands/maintenance/off.d.ts +10 -0
  175. package/lib/commands/maintenance/off.js +20 -0
  176. package/lib/commands/maintenance/on.d.ts +10 -0
  177. package/lib/commands/maintenance/on.js +20 -0
  178. package/lib/commands/members/add.d.ts +13 -0
  179. package/lib/commands/members/add.js +33 -0
  180. package/lib/commands/members/index.d.ts +12 -0
  181. package/lib/commands/members/index.js +76 -0
  182. package/lib/commands/members/remove.d.ts +10 -0
  183. package/lib/commands/members/remove.js +58 -0
  184. package/lib/commands/members/set.d.ts +11 -0
  185. package/lib/commands/members/set.js +21 -0
  186. package/lib/commands/notifications/index.d.ts +13 -0
  187. package/lib/commands/notifications/index.js +62 -0
  188. package/lib/commands/orgs/index.d.ts +11 -0
  189. package/lib/commands/orgs/index.js +27 -0
  190. package/lib/commands/orgs/open.d.ts +10 -0
  191. package/lib/commands/orgs/open.js +24 -0
  192. package/lib/commands/pg/backups/cancel.d.ts +15 -0
  193. package/lib/commands/pg/backups/cancel.js +49 -0
  194. package/lib/commands/pg/backups/capture.d.ts +15 -0
  195. package/lib/commands/pg/backups/capture.js +65 -0
  196. package/lib/commands/pg/backups/delete.d.ts +15 -0
  197. package/lib/commands/pg/backups/delete.js +38 -0
  198. package/lib/commands/pg/backups/download.d.ts +14 -0
  199. package/lib/commands/pg/backups/download.js +58 -0
  200. package/lib/commands/pg/backups/index.d.ts +20 -0
  201. package/lib/commands/pg/backups/index.js +129 -0
  202. package/lib/commands/pg/backups/info.d.ts +17 -0
  203. package/lib/commands/pg/backups/info.js +92 -0
  204. package/lib/commands/pg/backups/restore.d.ts +19 -0
  205. package/lib/commands/pg/backups/restore.js +107 -0
  206. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  207. package/lib/commands/pg/backups/schedule.js +82 -0
  208. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  209. package/lib/commands/pg/backups/schedules.js +31 -0
  210. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  211. package/lib/commands/pg/backups/unschedule.js +44 -0
  212. package/lib/commands/pg/backups/url.d.ts +13 -0
  213. package/lib/commands/pg/backups/url.js +41 -0
  214. package/lib/commands/pg/bloat.d.ts +13 -0
  215. package/lib/commands/pg/bloat.js +87 -0
  216. package/lib/commands/pg/blocking.d.ts +13 -0
  217. package/lib/commands/pg/blocking.js +42 -0
  218. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  219. package/lib/commands/pg/connection-pooling/attach.js +41 -0
  220. package/lib/commands/pg/copy.d.ts +18 -0
  221. package/lib/commands/pg/copy.js +86 -0
  222. package/lib/commands/pg/credentials/create.d.ts +14 -0
  223. package/lib/commands/pg/credentials/create.js +40 -0
  224. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  225. package/lib/commands/pg/credentials/destroy.js +48 -0
  226. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  227. package/lib/commands/pg/credentials/repair-default.js +39 -0
  228. package/lib/commands/pg/credentials/rotate.d.ts +16 -0
  229. package/lib/commands/pg/credentials/rotate.js +82 -0
  230. package/lib/commands/pg/credentials/url.d.ts +14 -0
  231. package/lib/commands/pg/credentials/url.js +64 -0
  232. package/lib/commands/pg/credentials.d.ts +16 -0
  233. package/lib/commands/pg/credentials.js +61 -0
  234. package/lib/commands/pg/diagnose.d.ts +18 -0
  235. package/lib/commands/pg/diagnose.js +109 -0
  236. package/lib/commands/pg/info.d.ts +14 -0
  237. package/lib/commands/pg/info.js +92 -0
  238. package/lib/commands/pg/kill.d.ts +15 -0
  239. package/lib/commands/pg/kill.js +32 -0
  240. package/lib/commands/pg/killall.d.ts +13 -0
  241. package/lib/commands/pg/killall.js +26 -0
  242. package/lib/commands/pg/links/create.d.ts +15 -0
  243. package/lib/commands/pg/links/create.js +58 -0
  244. package/lib/commands/pg/links/destroy.d.ts +16 -0
  245. package/lib/commands/pg/links/destroy.js +42 -0
  246. package/lib/commands/pg/links/index.d.ts +13 -0
  247. package/lib/commands/pg/links/index.js +59 -0
  248. package/lib/commands/pg/locks.d.ts +15 -0
  249. package/lib/commands/pg/locks.js +53 -0
  250. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  251. package/lib/commands/pg/maintenance/index.js +29 -0
  252. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  253. package/lib/commands/pg/maintenance/run.js +37 -0
  254. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  255. package/lib/commands/pg/maintenance/window.js +41 -0
  256. package/lib/commands/pg/outliers.d.ts +19 -0
  257. package/lib/commands/pg/outliers.js +97 -0
  258. package/lib/commands/pg/promote.d.ts +14 -0
  259. package/lib/commands/pg/promote.js +169 -0
  260. package/lib/commands/pg/ps.d.ts +14 -0
  261. package/lib/commands/pg/ps.js +52 -0
  262. package/lib/commands/pg/psql.d.ts +16 -0
  263. package/lib/commands/pg/psql.js +49 -0
  264. package/lib/commands/pg/pull.d.ts +18 -0
  265. package/lib/commands/pg/pull.js +87 -0
  266. package/lib/commands/pg/push.d.ts +18 -0
  267. package/lib/commands/pg/push.js +84 -0
  268. package/lib/commands/pg/reset.d.ts +15 -0
  269. package/lib/commands/pg/reset.js +44 -0
  270. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  271. package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
  272. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  273. package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
  274. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
  275. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
  276. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  277. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
  278. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  279. package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
  280. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  281. package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
  282. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  283. package/lib/commands/pg/settings/auto-explain.js +38 -0
  284. package/lib/commands/pg/settings/index.d.ts +13 -0
  285. package/lib/commands/pg/settings/index.js +34 -0
  286. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  287. package/lib/commands/pg/settings/log-connections.js +34 -0
  288. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  289. package/lib/commands/pg/settings/log-lock-waits.js +31 -0
  290. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
  291. package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
  292. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  293. package/lib/commands/pg/settings/log-statement.js +30 -0
  294. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  295. package/lib/commands/pg/settings/track-functions.js +29 -0
  296. package/lib/commands/pg/unfollow.d.ts +14 -0
  297. package/lib/commands/pg/unfollow.js +40 -0
  298. package/lib/commands/pg/upgrade.d.ts +15 -0
  299. package/lib/commands/pg/upgrade.js +58 -0
  300. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  301. package/lib/commands/pg/vacuum-stats.js +65 -0
  302. package/lib/commands/pg/wait.d.ts +15 -0
  303. package/lib/commands/pg/wait.js +79 -0
  304. package/lib/commands/pipelines/connect.js +1 -1
  305. package/lib/commands/pipelines/diff.js +1 -1
  306. package/lib/commands/ps/index.d.ts +15 -0
  307. package/lib/commands/ps/index.js +195 -0
  308. package/lib/commands/ps/restart.d.ts +17 -0
  309. package/lib/commands/ps/restart.js +38 -0
  310. package/lib/commands/ps/scale.d.ts +13 -0
  311. package/lib/commands/ps/scale.js +108 -0
  312. package/lib/commands/ps/stop.d.ts +17 -0
  313. package/lib/commands/ps/stop.js +33 -0
  314. package/lib/commands/ps/type.d.ts +12 -0
  315. package/lib/commands/ps/type.js +163 -0
  316. package/lib/commands/redis/cli.d.ts +15 -0
  317. package/lib/commands/redis/cli.js +204 -0
  318. package/lib/commands/redis/credentials.d.ts +14 -0
  319. package/lib/commands/redis/credentials.js +32 -0
  320. package/lib/commands/redis/info.d.ts +15 -0
  321. package/lib/commands/redis/info.js +25 -0
  322. package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
  323. package/lib/commands/redis/keyspace-notifications.js +47 -0
  324. package/lib/commands/redis/maintenance.d.ts +16 -0
  325. package/lib/commands/redis/maintenance.js +63 -0
  326. package/lib/commands/redis/maxmemory.d.ts +14 -0
  327. package/lib/commands/redis/maxmemory.js +40 -0
  328. package/lib/commands/redis/promote.d.ts +13 -0
  329. package/lib/commands/redis/promote.js +39 -0
  330. package/lib/commands/redis/stats-reset.d.ts +14 -0
  331. package/lib/commands/redis/stats-reset.js +36 -0
  332. package/lib/commands/redis/timeout.d.ts +14 -0
  333. package/lib/commands/redis/timeout.js +35 -0
  334. package/lib/commands/redis/upgrade.d.ts +15 -0
  335. package/lib/commands/redis/upgrade.js +37 -0
  336. package/lib/commands/redis/wait.d.ts +14 -0
  337. package/lib/commands/redis/wait.js +60 -0
  338. package/lib/commands/releases/index.d.ts +14 -0
  339. package/lib/commands/releases/index.js +124 -0
  340. package/lib/commands/releases/info.d.ts +15 -0
  341. package/lib/commands/releases/info.js +56 -0
  342. package/lib/commands/releases/output.d.ts +13 -0
  343. package/lib/commands/releases/output.js +37 -0
  344. package/lib/commands/releases/rollback.d.ts +14 -0
  345. package/lib/commands/releases/rollback.js +48 -0
  346. package/lib/commands/run/detached.d.ts +7 -8
  347. package/lib/commands/run/detached.js +16 -20
  348. package/lib/commands/run/index.d.ts +10 -11
  349. package/lib/commands/run/index.js +16 -17
  350. package/lib/commands/run/inside.d.ts +5 -7
  351. package/lib/commands/run/inside.js +10 -14
  352. package/lib/commands/spaces/create.d.ts +22 -0
  353. package/lib/commands/spaces/create.js +73 -0
  354. package/lib/commands/spaces/destroy.d.ts +14 -0
  355. package/lib/commands/spaces/destroy.js +49 -0
  356. package/lib/commands/spaces/drains/get.d.ts +12 -0
  357. package/lib/commands/spaces/drains/get.js +27 -0
  358. package/lib/commands/spaces/drains/set.d.ts +14 -0
  359. package/lib/commands/spaces/drains/set.js +29 -0
  360. package/lib/commands/spaces/hosts.d.ts +14 -0
  361. package/lib/commands/spaces/hosts.js +37 -0
  362. package/lib/commands/spaces/index.d.ts +16 -0
  363. package/lib/commands/spaces/index.js +55 -0
  364. package/lib/commands/spaces/info.d.ts +14 -0
  365. package/lib/commands/spaces/info.js +47 -0
  366. package/lib/commands/spaces/outbound-rules/add.d.ts +15 -0
  367. package/lib/commands/spaces/outbound-rules/add.js +81 -0
  368. package/lib/commands/spaces/outbound-rules/index.d.ts +15 -0
  369. package/lib/commands/spaces/outbound-rules/index.js +49 -0
  370. package/lib/commands/spaces/outbound-rules/remove.d.ts +17 -0
  371. package/lib/commands/spaces/outbound-rules/remove.js +53 -0
  372. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  373. package/lib/commands/spaces/peerings/accept.js +36 -0
  374. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  375. package/lib/commands/spaces/peerings/destroy.js +45 -0
  376. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  377. package/lib/commands/spaces/peerings/index.js +33 -0
  378. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  379. package/lib/commands/spaces/peerings/info.js +59 -0
  380. package/lib/commands/spaces/ps.d.ts +15 -0
  381. package/lib/commands/spaces/ps.js +82 -0
  382. package/lib/commands/spaces/rename.d.ts +11 -0
  383. package/lib/commands/spaces/rename.js +26 -0
  384. package/lib/commands/spaces/topology.d.ts +32 -0
  385. package/lib/commands/spaces/topology.js +89 -0
  386. package/lib/commands/spaces/transfer.d.ts +11 -0
  387. package/lib/commands/spaces/transfer.js +35 -0
  388. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  389. package/lib/commands/spaces/trusted-ips/add.js +43 -0
  390. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  391. package/lib/commands/spaces/trusted-ips/index.js +52 -0
  392. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  393. package/lib/commands/spaces/trusted-ips/remove.js +44 -0
  394. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  395. package/lib/commands/spaces/vpn/config.js +54 -0
  396. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  397. package/lib/commands/spaces/vpn/connect.js +45 -0
  398. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  399. package/lib/commands/spaces/vpn/connections.js +57 -0
  400. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  401. package/lib/commands/spaces/vpn/destroy.js +35 -0
  402. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  403. package/lib/commands/spaces/vpn/info.js +82 -0
  404. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  405. package/lib/commands/spaces/vpn/update.js +36 -0
  406. package/lib/commands/spaces/vpn/wait.d.ts +13 -0
  407. package/lib/commands/spaces/vpn/wait.js +53 -0
  408. package/lib/commands/spaces/wait.d.ts +17 -0
  409. package/lib/commands/spaces/wait.js +89 -0
  410. package/lib/commands/status.js +4 -4
  411. package/lib/commands/teams/index.d.ts +9 -0
  412. package/lib/commands/teams/index.js +29 -0
  413. package/lib/global_telemetry.js +10 -4
  414. package/lib/hooks/postrun/performance_analytics.js +5 -4
  415. package/lib/hooks/prerun/analytics.js +3 -0
  416. package/lib/lib/addons/addons_wait.d.ts +78 -0
  417. package/lib/lib/addons/addons_wait.js +56 -0
  418. package/lib/lib/addons/create_addon.d.ts +7 -0
  419. package/lib/lib/addons/create_addon.js +59 -0
  420. package/lib/lib/addons/destroy_addon.d.ts +3 -0
  421. package/lib/lib/addons/destroy_addon.js +48 -0
  422. package/lib/lib/addons/resolve.d.ts +38 -0
  423. package/lib/lib/addons/resolve.js +179 -0
  424. package/lib/lib/addons/util.d.ts +9 -0
  425. package/lib/lib/addons/util.js +72 -0
  426. package/lib/lib/api.d.ts +1 -1
  427. package/lib/lib/apps/app-transfer.d.ts +10 -0
  428. package/lib/lib/apps/app-transfer.js +35 -0
  429. package/lib/lib/apps/error_info.d.ts +7 -0
  430. package/lib/lib/apps/error_info.js +185 -0
  431. package/lib/lib/autocomplete/completions.d.ts +4 -0
  432. package/lib/lib/autocomplete/completions.js +6 -1
  433. package/lib/lib/buildpacks/buildpacks.js +3 -4
  434. package/lib/lib/certs/certificate_details.d.ts +2 -0
  435. package/lib/lib/certs/certificate_details.js +37 -0
  436. package/lib/lib/certs/display_table.d.ts +2 -0
  437. package/lib/lib/certs/display_table.js +51 -0
  438. package/lib/lib/certs/domains.d.ts +3 -0
  439. package/lib/lib/certs/domains.js +45 -0
  440. package/lib/lib/certs/flags.d.ts +7 -0
  441. package/lib/lib/certs/flags.js +42 -0
  442. package/lib/lib/certs/format_date.d.ts +1 -0
  443. package/lib/lib/certs/format_date.js +11 -0
  444. package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
  445. package/lib/lib/certs/get_cert_and_key.js +11 -0
  446. package/lib/lib/ci/git.d.ts +7 -1
  447. package/lib/lib/ci/git.js +44 -1
  448. package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
  449. package/lib/lib/ci/source.js +3 -3
  450. package/lib/lib/ci/test-run.js +2 -2
  451. package/lib/lib/ci/validate.d.ts +2 -0
  452. package/lib/lib/ci/validate.js +10 -0
  453. package/lib/lib/config/quote.js +1 -1
  454. package/lib/lib/confirmCommand.d.ts +1 -0
  455. package/lib/lib/confirmCommand.js +23 -0
  456. package/lib/lib/container/debug.d.ts +2 -0
  457. package/lib/lib/container/debug.js +5 -0
  458. package/lib/lib/container/docker_helper.d.ts +24 -0
  459. package/lib/lib/container/docker_helper.js +168 -0
  460. package/lib/lib/container/streamer.d.ts +1 -0
  461. package/lib/lib/container/streamer.js +31 -0
  462. package/lib/lib/domains/domains.d.ts +6 -0
  463. package/lib/lib/domains/domains.js +104 -0
  464. package/lib/lib/git/git.d.ts +3 -0
  465. package/lib/lib/git/git.js +19 -0
  466. package/lib/lib/git/push.d.ts +1 -0
  467. package/lib/lib/git/push.js +6 -0
  468. package/lib/lib/local/run-foreman.d.ts +1 -0
  469. package/lib/lib/local/run-foreman.js +229 -1
  470. package/lib/lib/members/util.d.ts +3 -0
  471. package/lib/lib/members/util.js +25 -0
  472. package/lib/lib/members/utils.d.ts +2 -0
  473. package/lib/lib/members/utils.js +14 -0
  474. package/lib/lib/notify.d.ts +1 -0
  475. package/lib/lib/notify.js +23 -0
  476. package/lib/lib/orgs/utils.d.ts +5 -0
  477. package/lib/lib/orgs/utils.js +24 -0
  478. package/lib/lib/pg/backups.d.ts +17 -0
  479. package/lib/lib/pg/backups.js +164 -0
  480. package/lib/lib/pg/bastion.d.ts +29 -0
  481. package/lib/lib/pg/bastion.js +121 -0
  482. package/lib/lib/pg/config.d.ts +2 -0
  483. package/lib/lib/pg/config.js +13 -0
  484. package/lib/lib/pg/download.d.ts +5 -0
  485. package/lib/lib/pg/download.js +34 -0
  486. package/lib/lib/pg/fetcher.d.ts +39 -0
  487. package/lib/lib/pg/fetcher.js +137 -0
  488. package/lib/lib/pg/host.d.ts +1 -0
  489. package/lib/lib/pg/host.js +7 -0
  490. package/lib/lib/pg/psql.d.ts +48 -0
  491. package/lib/lib/pg/psql.js +252 -0
  492. package/lib/lib/pg/push_pull.d.ts +13 -0
  493. package/lib/lib/pg/push_pull.js +118 -0
  494. package/lib/lib/pg/setter.d.ts +16 -0
  495. package/lib/lib/pg/setter.js +65 -0
  496. package/lib/lib/pg/types.d.ts +230 -0
  497. package/lib/lib/pg/types.js +2 -0
  498. package/lib/lib/pg/util.d.ts +36 -0
  499. package/lib/lib/pg/util.js +183 -0
  500. package/lib/lib/redis/api.d.ts +65 -0
  501. package/lib/lib/redis/api.js +122 -0
  502. package/lib/lib/releases/output.d.ts +1 -0
  503. package/lib/lib/releases/output.js +14 -0
  504. package/lib/lib/releases/releases.d.ts +6 -0
  505. package/lib/lib/releases/releases.js +32 -0
  506. package/lib/lib/releases/status_helper.d.ts +5 -0
  507. package/lib/lib/releases/status_helper.js +25 -0
  508. package/lib/lib/run/dyno.js +2 -2
  509. package/lib/lib/run/log-displayer.d.ts +1 -1
  510. package/lib/lib/spaces/format.d.ts +4 -0
  511. package/lib/lib/spaces/format.js +60 -0
  512. package/lib/lib/spaces/hosts.d.ts +9 -0
  513. package/lib/lib/spaces/hosts.js +34 -0
  514. package/lib/lib/spaces/outbound-rules.d.ts +4 -0
  515. package/lib/lib/spaces/outbound-rules.js +78 -0
  516. package/lib/lib/spaces/parsers.d.ts +8 -0
  517. package/lib/lib/spaces/parsers.js +17 -0
  518. package/lib/lib/spaces/peering.d.ts +4 -0
  519. package/lib/lib/spaces/peering.js +53 -0
  520. package/lib/lib/spaces/spaces.d.ts +4 -0
  521. package/lib/lib/spaces/spaces.js +37 -0
  522. package/lib/lib/spaces/vpn-connections.d.ts +2 -0
  523. package/lib/lib/spaces/vpn-connections.js +22 -0
  524. package/lib/lib/teamUtils.d.ts +3 -0
  525. package/lib/lib/teamUtils.js +18 -0
  526. package/lib/lib/time.d.ts +2 -0
  527. package/lib/lib/time.js +29 -0
  528. package/lib/lib/types/app_errors.d.ts +6 -0
  529. package/lib/lib/types/app_errors.js +2 -0
  530. package/lib/lib/types/domain.d.ts +61 -0
  531. package/lib/lib/types/domain.js +5 -0
  532. package/lib/lib/types/favorites.d.ts +7 -0
  533. package/lib/lib/types/favorites.js +2 -0
  534. package/lib/lib/types/notifications.d.ts +20 -0
  535. package/lib/lib/types/notifications.js +2 -0
  536. package/lib/lib/utils/multisort.d.ts +32 -0
  537. package/lib/lib/utils/multisort.js +66 -0
  538. package/lib/lib/utils/uuid-validate.d.ts +1 -0
  539. package/lib/lib/utils/uuid-validate.js +7 -0
  540. package/lib/user-config.js +2 -2
  541. package/oclif.manifest.json +12920 -2534
  542. package/package.json +111 -60
  543. package/lib/lib/buildpacks/push.d.ts +0 -0
  544. package/lib/lib/buildpacks/push.js +0 -4
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ class AppsLock extends command_1.Command {
7
+ async run() {
8
+ var _a;
9
+ const { flags } = await this.parse(AppsLock);
10
+ const { app } = flags;
11
+ const { body: appResponse } = await this.heroku.get(`/teams/apps/${app}`);
12
+ const appName = (_a = appResponse.name) !== null && _a !== void 0 ? _a : app;
13
+ if (appResponse.locked) {
14
+ throw new Error(`Error: cannot lock ${color_1.default.cyan(appName)}.\nThis app is already locked.`);
15
+ }
16
+ core_1.ux.action.start(`Locking ${color_1.default.cyan(appName)}`);
17
+ await this.heroku.patch(`/teams/apps/${appName}`, {
18
+ body: { locked: true },
19
+ });
20
+ core_1.ux.action.stop();
21
+ }
22
+ }
23
+ exports.default = AppsLock;
24
+ AppsLock.topic = 'apps';
25
+ AppsLock.description = 'prevent team members from joining an app';
26
+ AppsLock.aliases = ['lock'];
27
+ AppsLock.flags = {
28
+ app: command_1.flags.app({ required: true }),
29
+ remote: command_1.flags.remote(),
30
+ };
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class AppsOpen extends Command {
3
+ static description: string;
4
+ static topic: string;
5
+ static hiddenAliases: string[];
6
+ static examples: string[];
7
+ static flags: {
8
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ };
11
+ static args: {
12
+ path: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const open = require("open");
6
+ class AppsOpen extends command_1.Command {
7
+ async run() {
8
+ const { flags, args } = await this.parse(AppsOpen);
9
+ const appResponse = await this.heroku.get(`/apps/${flags.app}`);
10
+ const app = appResponse.body;
11
+ const path = args.path || '';
12
+ const url = new URL(path, app.web_url);
13
+ await open(url.toString());
14
+ }
15
+ }
16
+ exports.default = AppsOpen;
17
+ AppsOpen.description = 'open the app in a web browser';
18
+ AppsOpen.topic = 'apps';
19
+ AppsOpen.hiddenAliases = ['open'];
20
+ AppsOpen.examples = [
21
+ '$ heroku open -a myapp',
22
+ '$ heroku open -a myapp /foo',
23
+ ];
24
+ AppsOpen.flags = {
25
+ app: command_1.flags.app({ required: true }),
26
+ remote: command_1.flags.remote(),
27
+ };
28
+ AppsOpen.args = {
29
+ path: core_1.Args.string({ required: false }),
30
+ };
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class AppsRename extends Command {
3
+ static description: string;
4
+ static help: string;
5
+ static topic: string;
6
+ static hiddenAliases: string[];
7
+ static examples: string[];
8
+ static flags: {
9
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ };
12
+ static args: {
13
+ newname: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const _ = require("lodash");
6
+ const git = require("../../lib/ci/git");
7
+ const color_1 = require("@heroku-cli/color");
8
+ class AppsRename extends command_1.Command {
9
+ async run() {
10
+ const { flags, args } = await this.parse(AppsRename);
11
+ const oldApp = flags.app;
12
+ const newApp = args.newname;
13
+ core_1.ux.action.start(`Renaming ${color_1.default.cyan(oldApp)} to ${color_1.default.green(newApp)}`);
14
+ const appResponse = await this.heroku.patch(`/apps/${oldApp}`, { body: { name: newApp } });
15
+ const app = appResponse.body;
16
+ core_1.ux.action.stop();
17
+ const gitUrl = git.gitUrl(app.name);
18
+ core_1.ux.log(`${app.web_url} | ${gitUrl}`);
19
+ if (!app.web_url.includes('https')) {
20
+ core_1.ux.log('Please note that it may take a few minutes for Heroku to provision a SSL certificate for your application.');
21
+ }
22
+ if (git.inGitRepo()) {
23
+ // delete git remotes pointing to this app
24
+ await _(await git.listRemotes())
25
+ .filter(r => git.gitUrl(oldApp) === r[1] || git.sshGitUrl(oldApp) === r[1])
26
+ .map(r => r[0])
27
+ .uniq()
28
+ .map(r => {
29
+ return git.rmRemote(r)
30
+ .then(() => git.createRemote(r, gitUrl))
31
+ .then(() => core_1.ux.log(`Git remote ${r} updated`));
32
+ }).value();
33
+ }
34
+ core_1.ux.warn("Don't forget to update git remotes for all other local checkouts of the app.");
35
+ }
36
+ }
37
+ exports.default = AppsRename;
38
+ AppsRename.description = 'rename an app';
39
+ AppsRename.help = 'This will locally update the git remote if it is set to the old app.';
40
+ AppsRename.topic = 'apps';
41
+ AppsRename.hiddenAliases = ['rename'];
42
+ AppsRename.examples = [
43
+ '$ heroku apps:rename --app oldname newname',
44
+ ];
45
+ AppsRename.flags = {
46
+ app: command_1.flags.app({ required: true }),
47
+ remote: command_1.flags.remote(),
48
+ };
49
+ AppsRename.args = {
50
+ newname: core_1.Args.string({ required: true }),
51
+ };
@@ -0,0 +1,11 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class StacksIndex extends Command {
3
+ static description: string;
4
+ static topic: string;
5
+ static hiddenAliases: string[];
6
+ static flags: {
7
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const _ = require("lodash");
6
+ const color_1 = require("@heroku-cli/color");
7
+ function updateCedarName(stack) {
8
+ if (stack === 'cedar') {
9
+ return 'cedar-10';
10
+ }
11
+ return stack;
12
+ }
13
+ class StacksIndex extends command_1.Command {
14
+ async run() {
15
+ const { flags } = await this.parse(StacksIndex);
16
+ const [appResponse, stackResponse] = await Promise.all([
17
+ this.heroku.get(`/apps/${flags.app}`),
18
+ this.heroku.get('/stacks'),
19
+ ]);
20
+ const app = appResponse.body;
21
+ const stacks = stackResponse.body;
22
+ const sortedStacks = _.sortBy(stacks, 'name');
23
+ core_1.ux.styledHeader(`${color_1.default.app(app.name)} Available Stacks`);
24
+ for (const stack of sortedStacks) {
25
+ if (stack.name === app.stack.name) {
26
+ core_1.ux.log(color_1.default.green('* ' + updateCedarName(stack.name)));
27
+ }
28
+ else if (stack.name === app.build_stack.name) {
29
+ core_1.ux.log(` ${updateCedarName(stack.name)} (active on next deploy)`);
30
+ }
31
+ else {
32
+ core_1.ux.log(` ${updateCedarName(stack.name)}`);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ exports.default = StacksIndex;
38
+ StacksIndex.description = 'show the list of available stacks';
39
+ StacksIndex.topic = 'apps';
40
+ StacksIndex.hiddenAliases = ['stack'];
41
+ StacksIndex.flags = {
42
+ app: command_1.flags.app({ required: true }),
43
+ remote: command_1.flags.remote(),
44
+ };
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Set extends Command {
3
+ static description: string;
4
+ static example: string;
5
+ static hiddenAliases: string[];
6
+ static flags: {
7
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ };
10
+ static args: {
11
+ stack: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const push_1 = require("../../../lib/git/push");
7
+ function map(stack) {
8
+ return stack === 'cedar-10' ? 'cedar' : stack;
9
+ }
10
+ class Set extends command_1.Command {
11
+ async run() {
12
+ var _a, _b;
13
+ const { flags, args } = await this.parse(Set);
14
+ const stack = map(args.stack);
15
+ core_1.ux.action.start(`Setting stack to ${color_1.default.green(stack)}`);
16
+ const { body: app } = await this.heroku.patch(`/apps/${flags.app}`, {
17
+ body: { build_stack: stack },
18
+ });
19
+ // A redeployment is not required for apps that have never been deployed, since
20
+ // API updates the app's `stack` to match `build_stack` immediately.
21
+ if (((_a = app.stack) === null || _a === void 0 ? void 0 : _a.name) !== ((_b = app.build_stack) === null || _b === void 0 ? void 0 : _b.name)) {
22
+ core_1.ux.log(`You will need to redeploy ${color_1.default.app(flags.app)} for the change to take effect.`);
23
+ core_1.ux.log(`Run ${color_1.default.cmd((0, push_1.default)(flags.remote))} to trigger a new build on ${color_1.default.app(flags.app)}.`);
24
+ }
25
+ core_1.ux.action.stop();
26
+ }
27
+ }
28
+ exports.default = Set;
29
+ Set.description = 'set the stack of an app';
30
+ Set.example = `$ heroku stack:set heroku-22 -a myapp
31
+ Setting stack to heroku-22... done
32
+ You will need to redeploy myapp for the change to take effect.
33
+ Run git push heroku main to trigger a new build on myapp.`;
34
+ Set.hiddenAliases = ['stack:set'];
35
+ Set.flags = {
36
+ app: command_1.flags.app({ required: true }),
37
+ remote: command_1.flags.remote(),
38
+ };
39
+ Set.args = {
40
+ stack: core_1.Args.string({ required: true }),
41
+ };
@@ -0,0 +1,17 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class AppsTransfer extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ locked: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ bulk: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ confirm: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ };
12
+ static args: {
13
+ recipient: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
14
+ };
15
+ static examples: string[];
16
+ run(): Promise<void>;
17
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const lodash_1 = require("lodash");
7
+ const inquirer = require("inquirer");
8
+ const teamUtils_1 = require("../../lib/teamUtils");
9
+ const lock_1 = require("./lock");
10
+ const app_transfer_1 = require("../../lib/apps/app-transfer");
11
+ const confirmCommand_1 = require("../../lib/confirmCommand");
12
+ function getAppsToTransfer(apps) {
13
+ return inquirer.prompt([{
14
+ type: 'checkbox',
15
+ name: 'choices',
16
+ pageSize: 20,
17
+ message: 'Select applications you would like to transfer',
18
+ choices: apps.map(function (app) {
19
+ var _a, _b;
20
+ return {
21
+ name: `${app.name} (${(0, teamUtils_1.getOwner)((_a = app.owner) === null || _a === void 0 ? void 0 : _a.email)})`, value: { name: app.name, owner: (_b = app.owner) === null || _b === void 0 ? void 0 : _b.email },
22
+ };
23
+ }),
24
+ }]);
25
+ }
26
+ class AppsTransfer extends command_1.Command {
27
+ async run() {
28
+ var _a, _b, _c, _d;
29
+ const { flags, args } = await this.parse(AppsTransfer);
30
+ const { app, bulk, locked, confirm } = flags;
31
+ const recipient = args.recipient;
32
+ if (bulk) {
33
+ const { body: allApps } = await this.heroku.get('/apps');
34
+ const selectedApps = await getAppsToTransfer((0, lodash_1.sortBy)(allApps, 'name'));
35
+ core_1.ux.warn(`Transferring applications to ${color_1.default.magenta(recipient)}...\n`);
36
+ for (const app of selectedApps.choices) {
37
+ try {
38
+ await (0, app_transfer_1.appTransfer)({
39
+ heroku: this.heroku,
40
+ appName: app.name,
41
+ recipient: recipient,
42
+ personalToPersonal: (0, teamUtils_1.isValidEmail)(recipient) && !(0, teamUtils_1.isTeamApp)(app.owner),
43
+ bulk: true,
44
+ });
45
+ }
46
+ catch (error) {
47
+ const { message } = error;
48
+ core_1.ux.error(message);
49
+ }
50
+ }
51
+ }
52
+ else {
53
+ const { body: appInfo } = await this.heroku.get(`/apps/${app}`);
54
+ const appName = (_b = (_a = appInfo.name) !== null && _a !== void 0 ? _a : app) !== null && _b !== void 0 ? _b : '';
55
+ if ((0, teamUtils_1.isValidEmail)(recipient) && (0, teamUtils_1.isTeamApp)((_c = appInfo.owner) === null || _c === void 0 ? void 0 : _c.email)) {
56
+ await (0, confirmCommand_1.default)(appName, confirm, 'All collaborators will be removed from this app');
57
+ }
58
+ await (0, app_transfer_1.appTransfer)({
59
+ heroku: this.heroku,
60
+ appName,
61
+ recipient,
62
+ personalToPersonal: (0, teamUtils_1.isValidEmail)(recipient) && !(0, teamUtils_1.isTeamApp)((_d = appInfo.owner) === null || _d === void 0 ? void 0 : _d.email),
63
+ bulk,
64
+ });
65
+ if (locked) {
66
+ await lock_1.default.run(['--app', appName], this.config);
67
+ }
68
+ }
69
+ }
70
+ }
71
+ exports.default = AppsTransfer;
72
+ AppsTransfer.topic = 'apps';
73
+ AppsTransfer.description = 'transfer applications to another user or team';
74
+ AppsTransfer.flags = {
75
+ locked: command_1.flags.boolean({ char: 'l', required: false, description: 'lock the app upon transfer' }),
76
+ bulk: command_1.flags.boolean({ required: false, description: 'transfer applications in bulk' }),
77
+ app: command_1.flags.app(),
78
+ remote: command_1.flags.remote({ char: 'r' }),
79
+ confirm: command_1.flags.string({ char: 'c', hidden: true }),
80
+ };
81
+ AppsTransfer.args = {
82
+ recipient: core_1.Args.string({ description: 'user or team to transfer applications to', required: true }),
83
+ };
84
+ AppsTransfer.examples = [`$ heroku apps:transfer collaborator@example.com
85
+ Transferring example to collaborator@example.com... done
86
+
87
+ $ heroku apps:transfer acme-widgets
88
+ Transferring example to acme-widgets... done
89
+
90
+ $ heroku apps:transfer --bulk acme-widgets
91
+ ...`];
@@ -0,0 +1,11 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Unlock extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static aliases: string[];
6
+ static flags: {
7
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ class Unlock extends command_1.Command {
7
+ async run() {
8
+ var _a;
9
+ const { flags } = await this.parse(Unlock);
10
+ const { app } = flags;
11
+ const { body: appResponse } = await this.heroku.get(`/teams/apps/${app}`);
12
+ const appName = (_a = appResponse.name) !== null && _a !== void 0 ? _a : app;
13
+ if (!appResponse.locked) {
14
+ core_1.ux.error(`cannot unlock ${color_1.default.cyan(appName)}\nThis app is not locked.`, { exit: 1 });
15
+ }
16
+ core_1.ux.action.start(`Unlocking ${color_1.default.cyan(appName)}`);
17
+ await this.heroku.patch(`/teams/apps/${appName}`, {
18
+ body: { locked: false },
19
+ });
20
+ core_1.ux.action.stop();
21
+ }
22
+ }
23
+ exports.default = Unlock;
24
+ Unlock.topic = 'apps';
25
+ Unlock.description = 'unlock an app so any team member can join';
26
+ Unlock.aliases = ['unlock'];
27
+ Unlock.flags = {
28
+ app: command_1.flags.app({ required: true }),
29
+ remote: command_1.flags.remote(),
30
+ };
@@ -7,6 +7,7 @@ class Logout extends command_1.Command {
7
7
  core_1.ux.action.start('Logging out');
8
8
  await this.heroku.logout();
9
9
  await this.config.runHook('recache', { type: 'logout' });
10
+ core_1.ux.action.stop();
10
11
  }
11
12
  }
12
13
  exports.default = Logout;
@@ -11,10 +11,11 @@ class AuthToken extends command_1.Command {
11
11
  try {
12
12
  const { body: tokens } = await this.heroku.get('/oauth/authorizations', { retryAuth: false });
13
13
  const token = tokens.find((t) => t.access_token && t.access_token.token === this.heroku.auth);
14
+ const isInternal = token ? token.user.email.includes('@heroku.com') : false;
14
15
  if (token && token.access_token.expires_in) {
15
16
  const d = new Date();
16
17
  d.setSeconds(d.getSeconds() + token.access_token.expires_in);
17
- this.warn(`token will expire ${(0, date_fns_1.formatRelative)(d, new Date())}\nUse ${color_1.default.cmd('heroku authorizations:create')} to generate a long-term token`);
18
+ this.warn(`token will expire ${(0, date_fns_1.formatRelative)(d, new Date())}\n${isInternal ? 'All tokens expire one year after we generate it.' : `To generate a token that expires in one year, use ${color_1.default.cmd('heroku authorizations:create')}.`}`);
18
19
  }
19
20
  }
20
21
  catch (error) {
@@ -8,7 +8,7 @@ class AuthorizationsCreate extends command_1.Command {
8
8
  async run() {
9
9
  const { flags } = await this.parse(AuthorizationsCreate);
10
10
  core_1.ux.action.start('Creating OAuth Authorization');
11
- const { body: auth } = await this.heroku.post('/oauth/authorizations', {
11
+ const { body: auth, headers } = await this.heroku.post('/oauth/authorizations', {
12
12
  body: {
13
13
  description: flags.description,
14
14
  scope: flags.scope ? flags.scope.split(',') : undefined,
@@ -16,6 +16,10 @@ class AuthorizationsCreate extends command_1.Command {
16
16
  },
17
17
  });
18
18
  core_1.ux.action.stop();
19
+ const apiWarnings = headers['warning-message'] || '';
20
+ if (apiWarnings) {
21
+ core_1.ux.warn(apiWarnings);
22
+ }
19
23
  if (flags.short) {
20
24
  core_1.ux.log(auth.access_token && auth.access_token.token);
21
25
  }
@@ -6,7 +6,11 @@ const authorizations_1 = require("../../lib/authorizations/authorizations");
6
6
  class AuthorizationsInfo extends command_1.Command {
7
7
  async run() {
8
8
  const { args, flags } = await this.parse(AuthorizationsInfo);
9
- const { body: authentication } = await this.heroku.get(`/oauth/authorizations/${args.id}`);
9
+ const { body: authentication, headers } = await this.heroku.get(`/oauth/authorizations/${args.id}`);
10
+ const apiWarnings = headers['warning-message'] || '';
11
+ if (apiWarnings) {
12
+ core_1.ux.warn(apiWarnings);
13
+ }
10
14
  if (flags.json) {
11
15
  core_1.ux.styledJSON(authentication);
12
16
  }
@@ -7,7 +7,11 @@ class AuthorizationsRevoke extends command_1.Command {
7
7
  async run() {
8
8
  const { args } = await this.parse(AuthorizationsRevoke);
9
9
  core_1.ux.action.start('Revoking OAuth Authorization');
10
- const { body: auth } = await this.heroku.delete(`/oauth/authorizations/${encodeURIComponent(args.id)}`);
10
+ const { body: auth, headers } = await this.heroku.delete(`/oauth/authorizations/${encodeURIComponent(args.id)}`);
11
+ const apiWarnings = headers['warning-message'] || '';
12
+ if (apiWarnings) {
13
+ core_1.ux.warn(apiWarnings);
14
+ }
11
15
  core_1.ux.action.stop(`done, revoked authorization from ${color_1.default.cyan(auth.description)}`);
12
16
  }
13
17
  }
@@ -7,7 +7,11 @@ class AuthorizationsRotate extends command_1.Command {
7
7
  async run() {
8
8
  const { args } = await this.parse(AuthorizationsRotate);
9
9
  core_1.ux.action.start('Rotating OAuth Authorization');
10
- const { body: authorization } = await this.heroku.post(`/oauth/authorizations/${encodeURIComponent(args.id)}/actions/regenerate-tokens`);
10
+ const { body: authorization, headers } = await this.heroku.post(`/oauth/authorizations/${encodeURIComponent(args.id)}/actions/regenerate-tokens`);
11
+ const apiWarnings = headers['warning-message'] || '';
12
+ if (apiWarnings) {
13
+ core_1.ux.warn(apiWarnings);
14
+ }
11
15
  core_1.ux.action.stop();
12
16
  (0, authorizations_1.display)(authorization);
13
17
  }
@@ -14,12 +14,16 @@ class AuthorizationsUpdate extends command_1.Command {
14
14
  secret: flags['client-secret'],
15
15
  };
16
16
  }
17
- const { body: authentication } = await this.heroku.patch(`/oauth/authorizations/${args.id}`, {
17
+ const { body: authentication, headers } = await this.heroku.patch(`/oauth/authorizations/${args.id}`, {
18
18
  body: {
19
19
  description: flags.description,
20
20
  client,
21
21
  },
22
22
  });
23
+ const apiWarnings = headers['warning-message'] || '';
24
+ if (apiWarnings) {
25
+ core_1.ux.warn(apiWarnings);
26
+ }
23
27
  core_1.ux.action.stop();
24
28
  (0, authorizations_1.display)(authentication);
25
29
  }
@@ -22,8 +22,8 @@ class Doctor extends base_1.AutocompleteBase {
22
22
  const shellProfilePath = path.join(process.env.HOME || '', shell === 'zsh' ? '.zshrc' : '.bashrc');
23
23
  const shellProfile = fs.readFileSync(shellProfilePath);
24
24
  const regex = /AC_\w+_SETUP_PATH/;
25
- const shimVlaue = regex.exec(shellProfile.toString()) ? 'present' : 'missing';
26
- data.push({ name: `~/${shell === 'zsh' ? '.zshrc' : '.bashrc'} shimmed`, value: shimVlaue });
25
+ const shimValue = regex.exec(shellProfile.toString()) ? 'present' : 'missing';
26
+ data.push({ name: `~/${shell === 'zsh' ? '.zshrc' : '.bashrc'} shimmed`, value: shimValue });
27
27
  // check shell shim
28
28
  const shellCompletion = path.join(this.autocompleteCacheDir, `${shell}_setup`);
29
29
  const shellCompletionValue = fs.existsSync(shellCompletion) ? 'present' : 'missing';
@@ -18,7 +18,7 @@ class Options extends base_1.AutocompleteBase {
18
18
  // Klass: (class) Command class
19
19
  // completion: (object) object with data/methods to build/retrive options from cache
20
20
  // curPosition*: the current argv position the shell is trying to complete
21
- // options: (string) white-space seperated list of values for the shell to use for completion
21
+ // options: (string) white-space separated list of values for the shell to use for completion
22
22
  async run() {
23
23
  this.errorIfWindows();
24
24
  // ex: heroku autocomplete:options 'heroku addons:destroy -a myapp myaddon'
@@ -164,7 +164,7 @@ class Options extends base_1.AutocompleteBase {
164
164
  return false;
165
165
  }
166
166
  }
167
- // --app=my-app is consided a flag & not a flag value
167
+ // --app=my-app is considered a flag & not a flag value
168
168
  // the shell's autocomplete handles partial value matching
169
169
  // add parsedFlag
170
170
  if (wildSplit.length === 2 && name)
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Add extends Command {
3
+ static topic: string;
4
+ static strict: boolean;
5
+ static description: string;
6
+ static examples: string[];
7
+ static flags: {
8
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ };
11
+ static args: {
12
+ CRT: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
13
+ KEY: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
14
+ };
15
+ run(): Promise<void>;
16
+ }