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.
- package/README.md +9 -11
- package/lib/commands/access/add.d.ts +14 -0
- package/lib/commands/access/add.js +55 -0
- package/lib/commands/access/index.d.ts +11 -0
- package/lib/commands/access/index.js +86 -0
- package/lib/commands/access/remove.d.ts +12 -0
- package/lib/commands/access/remove.js +25 -0
- package/lib/commands/access/update.d.ts +14 -0
- package/lib/commands/access/update.js +39 -0
- package/lib/commands/addons/attach.d.ts +16 -0
- package/lib/commands/addons/attach.js +51 -0
- package/lib/commands/addons/create.d.ts +19 -0
- package/lib/commands/addons/create.js +84 -0
- package/lib/commands/addons/destroy.d.ts +19 -0
- package/lib/commands/addons/destroy.js +61 -0
- package/lib/commands/addons/detach.d.ts +13 -0
- package/lib/commands/addons/detach.js +31 -0
- package/lib/commands/addons/docs.d.ts +14 -0
- package/lib/commands/addons/docs.js +36 -0
- package/lib/commands/addons/index.d.ts +16 -0
- package/lib/commands/addons/index.js +246 -0
- package/lib/commands/addons/info.d.ts +14 -0
- package/lib/commands/addons/info.js +44 -0
- package/lib/commands/addons/open.d.ts +75 -0
- package/lib/commands/addons/open.js +87 -0
- package/lib/commands/addons/plans.d.ts +12 -0
- package/lib/commands/addons/plans.js +47 -0
- package/lib/commands/addons/rename.d.ts +10 -0
- package/lib/commands/addons/rename.js +20 -0
- package/lib/commands/addons/services.d.ts +9 -0
- package/lib/commands/addons/services.js +34 -0
- package/lib/commands/addons/upgrade.d.ts +28 -0
- package/lib/commands/addons/upgrade.js +145 -0
- package/lib/commands/addons/wait.d.ts +14 -0
- package/lib/commands/addons/wait.js +70 -0
- package/lib/commands/apps/create.d.ts +28 -0
- package/lib/commands/apps/create.js +201 -0
- package/lib/commands/apps/destroy.d.ts +15 -0
- package/lib/commands/apps/destroy.js +47 -0
- package/lib/commands/apps/errors.d.ts +13 -0
- package/lib/commands/apps/errors.js +120 -0
- package/lib/commands/apps/favorites/add.d.ts +10 -0
- package/lib/commands/apps/favorites/add.js +38 -0
- package/lib/commands/apps/favorites/index.d.ts +9 -0
- package/lib/commands/apps/favorites/index.js +25 -0
- package/lib/commands/apps/favorites/remove.d.ts +10 -0
- package/lib/commands/apps/favorites/remove.js +28 -0
- package/lib/commands/apps/index.d.ts +16 -0
- package/lib/commands/apps/index.js +119 -0
- package/lib/commands/apps/info.d.ts +19 -0
- package/lib/commands/apps/info.js +162 -0
- package/lib/commands/apps/join.d.ts +11 -0
- package/lib/commands/apps/join.js +25 -0
- package/lib/commands/apps/leave.d.ts +12 -0
- package/lib/commands/apps/leave.js +25 -0
- package/lib/commands/apps/lock.d.ts +11 -0
- package/lib/commands/apps/lock.js +30 -0
- package/lib/commands/apps/open.d.ts +15 -0
- package/lib/commands/apps/open.js +30 -0
- package/lib/commands/apps/rename.d.ts +16 -0
- package/lib/commands/apps/rename.js +51 -0
- package/lib/commands/apps/stacks/index.d.ts +11 -0
- package/lib/commands/apps/stacks/index.js +44 -0
- package/lib/commands/apps/stacks/set.d.ts +14 -0
- package/lib/commands/apps/stacks/set.js +41 -0
- package/lib/commands/apps/transfer.d.ts +17 -0
- package/lib/commands/apps/transfer.js +91 -0
- package/lib/commands/apps/unlock.d.ts +11 -0
- package/lib/commands/apps/unlock.js +30 -0
- package/lib/commands/auth/logout.js +1 -0
- package/lib/commands/auth/token.js +2 -1
- package/lib/commands/authorizations/create.js +5 -1
- package/lib/commands/authorizations/info.js +5 -1
- package/lib/commands/authorizations/revoke.js +5 -1
- package/lib/commands/authorizations/rotate.js +5 -1
- package/lib/commands/authorizations/update.js +5 -1
- package/lib/commands/autocomplete/doctor.js +2 -2
- package/lib/commands/autocomplete/options.js +2 -2
- package/lib/commands/certs/add.d.ts +16 -0
- package/lib/commands/certs/add.js +98 -0
- package/lib/commands/certs/auto/disable.d.ts +11 -0
- package/lib/commands/certs/auto/disable.js +34 -0
- package/lib/commands/certs/auto/enable.d.ts +11 -0
- package/lib/commands/certs/auto/enable.js +51 -0
- package/lib/commands/certs/auto/index.d.ts +12 -0
- package/lib/commands/certs/auto/index.js +94 -0
- package/lib/commands/certs/auto/refresh.d.ts +10 -0
- package/lib/commands/certs/auto/refresh.js +19 -0
- package/lib/commands/certs/generate.d.ts +26 -0
- package/lib/commands/certs/generate.js +111 -0
- package/lib/commands/certs/index.d.ts +10 -0
- package/lib/commands/certs/index.js +26 -0
- package/lib/commands/certs/info.d.ts +13 -0
- package/lib/commands/certs/info.js +43 -0
- package/lib/commands/certs/remove.d.ts +13 -0
- package/lib/commands/certs/remove.js +32 -0
- package/lib/commands/certs/update.d.ts +18 -0
- package/lib/commands/certs/update.js +54 -0
- package/lib/commands/ci/config/get.d.ts +1 -0
- package/lib/commands/ci/config/get.js +1 -0
- package/lib/commands/ci/config/index.d.ts +12 -0
- package/lib/commands/ci/config/index.js +43 -0
- package/lib/commands/ci/config/set.d.ts +3 -2
- package/lib/commands/ci/config/set.js +3 -6
- package/lib/commands/ci/config/unset.d.ts +14 -0
- package/lib/commands/ci/config/unset.js +36 -0
- package/lib/commands/ci/index.d.ts +1 -0
- package/lib/commands/ci/index.js +1 -0
- package/lib/commands/ci/info.d.ts +1 -0
- package/lib/commands/ci/info.js +1 -0
- package/lib/commands/ci/last.d.ts +1 -0
- package/lib/commands/ci/last.js +1 -0
- package/lib/commands/ci/migrate-manifest.d.ts +7 -0
- package/lib/commands/ci/migrate-manifest.js +74 -0
- package/lib/commands/ci/open.d.ts +1 -0
- package/lib/commands/ci/open.js +1 -0
- package/lib/commands/ci/rerun.d.ts +1 -0
- package/lib/commands/ci/rerun.js +1 -0
- package/lib/commands/config/set.d.ts +12 -0
- package/lib/commands/config/set.js +60 -0
- package/lib/commands/container/index.d.ts +6 -0
- package/lib/commands/container/index.js +13 -0
- package/lib/commands/container/login.d.ts +9 -0
- package/lib/commands/container/login.js +57 -0
- package/lib/commands/container/logout.d.ts +9 -0
- package/lib/commands/container/logout.js +37 -0
- package/lib/commands/container/pull.d.ts +14 -0
- package/lib/commands/container/pull.js +40 -0
- package/lib/commands/container/push.d.ts +16 -0
- package/lib/commands/container/push.js +101 -0
- package/lib/commands/container/release.d.ts +14 -0
- package/lib/commands/container/release.js +89 -0
- package/lib/commands/container/rm.d.ts +13 -0
- package/lib/commands/container/rm.js +36 -0
- package/lib/commands/container/run.d.ts +15 -0
- package/lib/commands/container/run.js +63 -0
- package/lib/commands/dashboard.d.ts +7 -0
- package/lib/commands/dashboard.js +164 -0
- package/lib/commands/domains/index.d.ts +3 -3
- package/lib/commands/drains/add.d.ts +12 -0
- package/lib/commands/drains/add.js +23 -0
- package/lib/commands/drains/index.d.ts +11 -0
- package/lib/commands/drains/index.js +50 -0
- package/lib/commands/drains/remove.d.ts +13 -0
- package/lib/commands/drains/remove.js +22 -0
- package/lib/commands/features/disable.d.ts +12 -0
- package/lib/commands/features/disable.js +30 -0
- package/lib/commands/features/enable.d.ts +12 -0
- package/lib/commands/features/enable.js +29 -0
- package/lib/commands/features/index.d.ts +10 -0
- package/lib/commands/features/index.js +37 -0
- package/lib/commands/features/info.d.ts +13 -0
- package/lib/commands/features/info.js +33 -0
- package/lib/commands/keys/add.d.ts +14 -0
- package/lib/commands/keys/add.js +101 -0
- package/lib/commands/keys/clear.d.ts +5 -0
- package/lib/commands/keys/clear.js +17 -0
- package/lib/commands/keys/index.d.ts +9 -0
- package/lib/commands/keys/index.js +36 -0
- package/lib/commands/keys/remove.d.ts +9 -0
- package/lib/commands/keys/remove.js +29 -0
- package/lib/commands/labs/enable.d.ts +13 -0
- package/lib/commands/labs/enable.js +47 -0
- package/lib/commands/labs/index.d.ts +11 -0
- package/lib/commands/labs/index.js +71 -0
- package/lib/commands/labs/info.d.ts +14 -0
- package/lib/commands/labs/info.js +49 -0
- package/lib/commands/local/index.d.ts +1 -1
- package/lib/commands/local/index.js +8 -3
- package/lib/commands/local/run.d.ts +1 -1
- package/lib/commands/local/run.js +8 -3
- package/lib/commands/maintenance/index.d.ts +10 -0
- package/lib/commands/maintenance/index.js +19 -0
- package/lib/commands/maintenance/off.d.ts +10 -0
- package/lib/commands/maintenance/off.js +20 -0
- package/lib/commands/maintenance/on.d.ts +10 -0
- package/lib/commands/maintenance/on.js +20 -0
- package/lib/commands/members/add.d.ts +13 -0
- package/lib/commands/members/add.js +33 -0
- package/lib/commands/members/index.d.ts +12 -0
- package/lib/commands/members/index.js +76 -0
- package/lib/commands/members/remove.d.ts +10 -0
- package/lib/commands/members/remove.js +58 -0
- package/lib/commands/members/set.d.ts +11 -0
- package/lib/commands/members/set.js +21 -0
- package/lib/commands/notifications/index.d.ts +13 -0
- package/lib/commands/notifications/index.js +62 -0
- package/lib/commands/orgs/index.d.ts +11 -0
- package/lib/commands/orgs/index.js +27 -0
- package/lib/commands/orgs/open.d.ts +10 -0
- package/lib/commands/orgs/open.js +24 -0
- package/lib/commands/pg/backups/cancel.d.ts +15 -0
- package/lib/commands/pg/backups/cancel.js +49 -0
- package/lib/commands/pg/backups/capture.d.ts +15 -0
- package/lib/commands/pg/backups/capture.js +65 -0
- package/lib/commands/pg/backups/delete.d.ts +15 -0
- package/lib/commands/pg/backups/delete.js +38 -0
- package/lib/commands/pg/backups/download.d.ts +14 -0
- package/lib/commands/pg/backups/download.js +58 -0
- package/lib/commands/pg/backups/index.d.ts +20 -0
- package/lib/commands/pg/backups/index.js +129 -0
- package/lib/commands/pg/backups/info.d.ts +17 -0
- package/lib/commands/pg/backups/info.js +92 -0
- package/lib/commands/pg/backups/restore.d.ts +19 -0
- package/lib/commands/pg/backups/restore.js +107 -0
- package/lib/commands/pg/backups/schedule.d.ts +21 -0
- package/lib/commands/pg/backups/schedule.js +82 -0
- package/lib/commands/pg/backups/schedules.d.ts +10 -0
- package/lib/commands/pg/backups/schedules.js +31 -0
- package/lib/commands/pg/backups/unschedule.d.ts +13 -0
- package/lib/commands/pg/backups/unschedule.js +44 -0
- package/lib/commands/pg/backups/url.d.ts +13 -0
- package/lib/commands/pg/backups/url.js +41 -0
- package/lib/commands/pg/bloat.d.ts +13 -0
- package/lib/commands/pg/bloat.js +87 -0
- package/lib/commands/pg/blocking.d.ts +13 -0
- package/lib/commands/pg/blocking.js +42 -0
- package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
- package/lib/commands/pg/connection-pooling/attach.js +41 -0
- package/lib/commands/pg/copy.d.ts +18 -0
- package/lib/commands/pg/copy.js +86 -0
- package/lib/commands/pg/credentials/create.d.ts +14 -0
- package/lib/commands/pg/credentials/create.js +40 -0
- package/lib/commands/pg/credentials/destroy.d.ts +16 -0
- package/lib/commands/pg/credentials/destroy.js +48 -0
- package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
- package/lib/commands/pg/credentials/repair-default.js +39 -0
- package/lib/commands/pg/credentials/rotate.d.ts +16 -0
- package/lib/commands/pg/credentials/rotate.js +82 -0
- package/lib/commands/pg/credentials/url.d.ts +14 -0
- package/lib/commands/pg/credentials/url.js +64 -0
- package/lib/commands/pg/credentials.d.ts +16 -0
- package/lib/commands/pg/credentials.js +61 -0
- package/lib/commands/pg/diagnose.d.ts +18 -0
- package/lib/commands/pg/diagnose.js +109 -0
- package/lib/commands/pg/info.d.ts +14 -0
- package/lib/commands/pg/info.js +92 -0
- package/lib/commands/pg/kill.d.ts +15 -0
- package/lib/commands/pg/kill.js +32 -0
- package/lib/commands/pg/killall.d.ts +13 -0
- package/lib/commands/pg/killall.js +26 -0
- package/lib/commands/pg/links/create.d.ts +15 -0
- package/lib/commands/pg/links/create.js +58 -0
- package/lib/commands/pg/links/destroy.d.ts +16 -0
- package/lib/commands/pg/links/destroy.js +42 -0
- package/lib/commands/pg/links/index.d.ts +13 -0
- package/lib/commands/pg/links/index.js +59 -0
- package/lib/commands/pg/locks.d.ts +15 -0
- package/lib/commands/pg/locks.js +53 -0
- package/lib/commands/pg/maintenance/index.d.ts +13 -0
- package/lib/commands/pg/maintenance/index.js +29 -0
- package/lib/commands/pg/maintenance/run.d.ts +14 -0
- package/lib/commands/pg/maintenance/run.js +37 -0
- package/lib/commands/pg/maintenance/window.d.ts +15 -0
- package/lib/commands/pg/maintenance/window.js +41 -0
- package/lib/commands/pg/outliers.d.ts +19 -0
- package/lib/commands/pg/outliers.js +97 -0
- package/lib/commands/pg/promote.d.ts +14 -0
- package/lib/commands/pg/promote.js +169 -0
- package/lib/commands/pg/ps.d.ts +14 -0
- package/lib/commands/pg/ps.js +52 -0
- package/lib/commands/pg/psql.d.ts +16 -0
- package/lib/commands/pg/psql.js +49 -0
- package/lib/commands/pg/pull.d.ts +18 -0
- package/lib/commands/pg/pull.js +87 -0
- package/lib/commands/pg/push.d.ts +18 -0
- package/lib/commands/pg/push.js +84 -0
- package/lib/commands/pg/reset.d.ts +15 -0
- package/lib/commands/pg/reset.js +44 -0
- package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
- package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
- package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
- package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
- package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
- package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
- package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
- package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
- package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
- package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
- package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
- package/lib/commands/pg/settings/auto-explain.js +38 -0
- package/lib/commands/pg/settings/index.d.ts +13 -0
- package/lib/commands/pg/settings/index.js +34 -0
- package/lib/commands/pg/settings/log-connections.d.ts +17 -0
- package/lib/commands/pg/settings/log-connections.js +34 -0
- package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
- package/lib/commands/pg/settings/log-lock-waits.js +31 -0
- package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
- package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
- package/lib/commands/pg/settings/log-statement.d.ts +12 -0
- package/lib/commands/pg/settings/log-statement.js +30 -0
- package/lib/commands/pg/settings/track-functions.d.ts +12 -0
- package/lib/commands/pg/settings/track-functions.js +29 -0
- package/lib/commands/pg/unfollow.d.ts +14 -0
- package/lib/commands/pg/unfollow.js +40 -0
- package/lib/commands/pg/upgrade.d.ts +15 -0
- package/lib/commands/pg/upgrade.js +58 -0
- package/lib/commands/pg/vacuum-stats.d.ts +13 -0
- package/lib/commands/pg/vacuum-stats.js +65 -0
- package/lib/commands/pg/wait.d.ts +15 -0
- package/lib/commands/pg/wait.js +79 -0
- package/lib/commands/pipelines/connect.js +1 -1
- package/lib/commands/pipelines/diff.js +1 -1
- package/lib/commands/ps/index.d.ts +15 -0
- package/lib/commands/ps/index.js +195 -0
- package/lib/commands/ps/restart.d.ts +17 -0
- package/lib/commands/ps/restart.js +38 -0
- package/lib/commands/ps/scale.d.ts +13 -0
- package/lib/commands/ps/scale.js +108 -0
- package/lib/commands/ps/stop.d.ts +17 -0
- package/lib/commands/ps/stop.js +33 -0
- package/lib/commands/ps/type.d.ts +12 -0
- package/lib/commands/ps/type.js +163 -0
- package/lib/commands/redis/cli.d.ts +15 -0
- package/lib/commands/redis/cli.js +204 -0
- package/lib/commands/redis/credentials.d.ts +14 -0
- package/lib/commands/redis/credentials.js +32 -0
- package/lib/commands/redis/info.d.ts +15 -0
- package/lib/commands/redis/info.js +25 -0
- package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
- package/lib/commands/redis/keyspace-notifications.js +47 -0
- package/lib/commands/redis/maintenance.d.ts +16 -0
- package/lib/commands/redis/maintenance.js +63 -0
- package/lib/commands/redis/maxmemory.d.ts +14 -0
- package/lib/commands/redis/maxmemory.js +40 -0
- package/lib/commands/redis/promote.d.ts +13 -0
- package/lib/commands/redis/promote.js +39 -0
- package/lib/commands/redis/stats-reset.d.ts +14 -0
- package/lib/commands/redis/stats-reset.js +36 -0
- package/lib/commands/redis/timeout.d.ts +14 -0
- package/lib/commands/redis/timeout.js +35 -0
- package/lib/commands/redis/upgrade.d.ts +15 -0
- package/lib/commands/redis/upgrade.js +37 -0
- package/lib/commands/redis/wait.d.ts +14 -0
- package/lib/commands/redis/wait.js +60 -0
- package/lib/commands/releases/index.d.ts +14 -0
- package/lib/commands/releases/index.js +124 -0
- package/lib/commands/releases/info.d.ts +15 -0
- package/lib/commands/releases/info.js +56 -0
- package/lib/commands/releases/output.d.ts +13 -0
- package/lib/commands/releases/output.js +37 -0
- package/lib/commands/releases/rollback.d.ts +14 -0
- package/lib/commands/releases/rollback.js +48 -0
- package/lib/commands/run/detached.d.ts +7 -8
- package/lib/commands/run/detached.js +16 -20
- package/lib/commands/run/index.d.ts +10 -11
- package/lib/commands/run/index.js +16 -17
- package/lib/commands/run/inside.d.ts +5 -7
- package/lib/commands/run/inside.js +10 -14
- package/lib/commands/spaces/create.d.ts +22 -0
- package/lib/commands/spaces/create.js +73 -0
- package/lib/commands/spaces/destroy.d.ts +14 -0
- package/lib/commands/spaces/destroy.js +49 -0
- package/lib/commands/spaces/drains/get.d.ts +12 -0
- package/lib/commands/spaces/drains/get.js +27 -0
- package/lib/commands/spaces/drains/set.d.ts +14 -0
- package/lib/commands/spaces/drains/set.js +29 -0
- package/lib/commands/spaces/hosts.d.ts +14 -0
- package/lib/commands/spaces/hosts.js +37 -0
- package/lib/commands/spaces/index.d.ts +16 -0
- package/lib/commands/spaces/index.js +55 -0
- package/lib/commands/spaces/info.d.ts +14 -0
- package/lib/commands/spaces/info.js +47 -0
- package/lib/commands/spaces/outbound-rules/add.d.ts +15 -0
- package/lib/commands/spaces/outbound-rules/add.js +81 -0
- package/lib/commands/spaces/outbound-rules/index.d.ts +15 -0
- package/lib/commands/spaces/outbound-rules/index.js +49 -0
- package/lib/commands/spaces/outbound-rules/remove.d.ts +17 -0
- package/lib/commands/spaces/outbound-rules/remove.js +53 -0
- package/lib/commands/spaces/peerings/accept.d.ts +15 -0
- package/lib/commands/spaces/peerings/accept.js +36 -0
- package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
- package/lib/commands/spaces/peerings/destroy.js +45 -0
- package/lib/commands/spaces/peerings/index.d.ts +13 -0
- package/lib/commands/spaces/peerings/index.js +33 -0
- package/lib/commands/spaces/peerings/info.d.ts +15 -0
- package/lib/commands/spaces/peerings/info.js +59 -0
- package/lib/commands/spaces/ps.d.ts +15 -0
- package/lib/commands/spaces/ps.js +82 -0
- package/lib/commands/spaces/rename.d.ts +11 -0
- package/lib/commands/spaces/rename.js +26 -0
- package/lib/commands/spaces/topology.d.ts +32 -0
- package/lib/commands/spaces/topology.js +89 -0
- package/lib/commands/spaces/transfer.d.ts +11 -0
- package/lib/commands/spaces/transfer.js +35 -0
- package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
- package/lib/commands/spaces/trusted-ips/add.js +43 -0
- package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
- package/lib/commands/spaces/trusted-ips/index.js +52 -0
- package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
- package/lib/commands/spaces/trusted-ips/remove.js +44 -0
- package/lib/commands/spaces/vpn/config.d.ts +14 -0
- package/lib/commands/spaces/vpn/config.js +54 -0
- package/lib/commands/spaces/vpn/connect.d.ts +15 -0
- package/lib/commands/spaces/vpn/connect.js +45 -0
- package/lib/commands/spaces/vpn/connections.d.ts +17 -0
- package/lib/commands/spaces/vpn/connections.js +57 -0
- package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
- package/lib/commands/spaces/vpn/destroy.js +35 -0
- package/lib/commands/spaces/vpn/info.d.ts +16 -0
- package/lib/commands/spaces/vpn/info.js +82 -0
- package/lib/commands/spaces/vpn/update.d.ts +14 -0
- package/lib/commands/spaces/vpn/update.js +36 -0
- package/lib/commands/spaces/vpn/wait.d.ts +13 -0
- package/lib/commands/spaces/vpn/wait.js +53 -0
- package/lib/commands/spaces/wait.d.ts +17 -0
- package/lib/commands/spaces/wait.js +89 -0
- package/lib/commands/status.js +4 -4
- package/lib/commands/teams/index.d.ts +9 -0
- package/lib/commands/teams/index.js +29 -0
- package/lib/global_telemetry.js +10 -4
- package/lib/hooks/postrun/performance_analytics.js +5 -4
- package/lib/hooks/prerun/analytics.js +3 -0
- package/lib/lib/addons/addons_wait.d.ts +78 -0
- package/lib/lib/addons/addons_wait.js +56 -0
- package/lib/lib/addons/create_addon.d.ts +7 -0
- package/lib/lib/addons/create_addon.js +59 -0
- package/lib/lib/addons/destroy_addon.d.ts +3 -0
- package/lib/lib/addons/destroy_addon.js +48 -0
- package/lib/lib/addons/resolve.d.ts +38 -0
- package/lib/lib/addons/resolve.js +179 -0
- package/lib/lib/addons/util.d.ts +9 -0
- package/lib/lib/addons/util.js +72 -0
- package/lib/lib/api.d.ts +1 -1
- package/lib/lib/apps/app-transfer.d.ts +10 -0
- package/lib/lib/apps/app-transfer.js +35 -0
- package/lib/lib/apps/error_info.d.ts +7 -0
- package/lib/lib/apps/error_info.js +185 -0
- package/lib/lib/autocomplete/completions.d.ts +4 -0
- package/lib/lib/autocomplete/completions.js +6 -1
- package/lib/lib/buildpacks/buildpacks.js +3 -4
- package/lib/lib/certs/certificate_details.d.ts +2 -0
- package/lib/lib/certs/certificate_details.js +37 -0
- package/lib/lib/certs/display_table.d.ts +2 -0
- package/lib/lib/certs/display_table.js +51 -0
- package/lib/lib/certs/domains.d.ts +3 -0
- package/lib/lib/certs/domains.js +45 -0
- package/lib/lib/certs/flags.d.ts +7 -0
- package/lib/lib/certs/flags.js +42 -0
- package/lib/lib/certs/format_date.d.ts +1 -0
- package/lib/lib/certs/format_date.js +11 -0
- package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
- package/lib/lib/certs/get_cert_and_key.js +11 -0
- package/lib/lib/ci/git.d.ts +7 -1
- package/lib/lib/ci/git.js +44 -1
- package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
- package/lib/lib/ci/source.js +3 -3
- package/lib/lib/ci/test-run.js +2 -2
- package/lib/lib/ci/validate.d.ts +2 -0
- package/lib/lib/ci/validate.js +10 -0
- package/lib/lib/config/quote.js +1 -1
- package/lib/lib/confirmCommand.d.ts +1 -0
- package/lib/lib/confirmCommand.js +23 -0
- package/lib/lib/container/debug.d.ts +2 -0
- package/lib/lib/container/debug.js +5 -0
- package/lib/lib/container/docker_helper.d.ts +24 -0
- package/lib/lib/container/docker_helper.js +168 -0
- package/lib/lib/container/streamer.d.ts +1 -0
- package/lib/lib/container/streamer.js +31 -0
- package/lib/lib/domains/domains.d.ts +6 -0
- package/lib/lib/domains/domains.js +104 -0
- package/lib/lib/git/git.d.ts +3 -0
- package/lib/lib/git/git.js +19 -0
- package/lib/lib/git/push.d.ts +1 -0
- package/lib/lib/git/push.js +6 -0
- package/lib/lib/local/run-foreman.d.ts +1 -0
- package/lib/lib/local/run-foreman.js +229 -1
- package/lib/lib/members/util.d.ts +3 -0
- package/lib/lib/members/util.js +25 -0
- package/lib/lib/members/utils.d.ts +2 -0
- package/lib/lib/members/utils.js +14 -0
- package/lib/lib/notify.d.ts +1 -0
- package/lib/lib/notify.js +23 -0
- package/lib/lib/orgs/utils.d.ts +5 -0
- package/lib/lib/orgs/utils.js +24 -0
- package/lib/lib/pg/backups.d.ts +17 -0
- package/lib/lib/pg/backups.js +164 -0
- package/lib/lib/pg/bastion.d.ts +29 -0
- package/lib/lib/pg/bastion.js +121 -0
- package/lib/lib/pg/config.d.ts +2 -0
- package/lib/lib/pg/config.js +13 -0
- package/lib/lib/pg/download.d.ts +5 -0
- package/lib/lib/pg/download.js +34 -0
- package/lib/lib/pg/fetcher.d.ts +39 -0
- package/lib/lib/pg/fetcher.js +137 -0
- package/lib/lib/pg/host.d.ts +1 -0
- package/lib/lib/pg/host.js +7 -0
- package/lib/lib/pg/psql.d.ts +48 -0
- package/lib/lib/pg/psql.js +252 -0
- package/lib/lib/pg/push_pull.d.ts +13 -0
- package/lib/lib/pg/push_pull.js +118 -0
- package/lib/lib/pg/setter.d.ts +16 -0
- package/lib/lib/pg/setter.js +65 -0
- package/lib/lib/pg/types.d.ts +230 -0
- package/lib/lib/pg/types.js +2 -0
- package/lib/lib/pg/util.d.ts +36 -0
- package/lib/lib/pg/util.js +183 -0
- package/lib/lib/redis/api.d.ts +65 -0
- package/lib/lib/redis/api.js +122 -0
- package/lib/lib/releases/output.d.ts +1 -0
- package/lib/lib/releases/output.js +14 -0
- package/lib/lib/releases/releases.d.ts +6 -0
- package/lib/lib/releases/releases.js +32 -0
- package/lib/lib/releases/status_helper.d.ts +5 -0
- package/lib/lib/releases/status_helper.js +25 -0
- package/lib/lib/run/dyno.js +2 -2
- package/lib/lib/run/log-displayer.d.ts +1 -1
- package/lib/lib/spaces/format.d.ts +4 -0
- package/lib/lib/spaces/format.js +60 -0
- package/lib/lib/spaces/hosts.d.ts +9 -0
- package/lib/lib/spaces/hosts.js +34 -0
- package/lib/lib/spaces/outbound-rules.d.ts +4 -0
- package/lib/lib/spaces/outbound-rules.js +78 -0
- package/lib/lib/spaces/parsers.d.ts +8 -0
- package/lib/lib/spaces/parsers.js +17 -0
- package/lib/lib/spaces/peering.d.ts +4 -0
- package/lib/lib/spaces/peering.js +53 -0
- package/lib/lib/spaces/spaces.d.ts +4 -0
- package/lib/lib/spaces/spaces.js +37 -0
- package/lib/lib/spaces/vpn-connections.d.ts +2 -0
- package/lib/lib/spaces/vpn-connections.js +22 -0
- package/lib/lib/teamUtils.d.ts +3 -0
- package/lib/lib/teamUtils.js +18 -0
- package/lib/lib/time.d.ts +2 -0
- package/lib/lib/time.js +29 -0
- package/lib/lib/types/app_errors.d.ts +6 -0
- package/lib/lib/types/app_errors.js +2 -0
- package/lib/lib/types/domain.d.ts +61 -0
- package/lib/lib/types/domain.js +5 -0
- package/lib/lib/types/favorites.d.ts +7 -0
- package/lib/lib/types/favorites.js +2 -0
- package/lib/lib/types/notifications.d.ts +20 -0
- package/lib/lib/types/notifications.js +2 -0
- package/lib/lib/utils/multisort.d.ts +32 -0
- package/lib/lib/utils/multisort.js +66 -0
- package/lib/lib/utils/uuid-validate.d.ts +1 -0
- package/lib/lib/utils/uuid-validate.js +7 -0
- package/lib/user-config.js +2 -2
- package/oclif.manifest.json +12920 -2534
- package/package.json +111 -60
- package/lib/lib/buildpacks/push.d.ts +0 -0
- 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
|
+
};
|
|
@@ -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())}\
|
|
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
|
|
26
|
-
data.push({ name: `~/${shell === 'zsh' ? '.zshrc' : '.bashrc'} shimmed`, value:
|
|
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
|
|
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
|
|
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
|
+
}
|