feat!: add commands from the ps-exec plugin to the core CLI#3582
Merged
feat!: add commands from the ps-exec plugin to the core CLI#3582
Conversation
eablack
approved these changes
Mar 11, 2026
Contributor
eablack
left a comment
There was a problem hiding this comment.
some failing tests, but otherwise looks great!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the
ps:copy,ps:exec,ps:forward, andps:sockscommands from the ps-exec plugin to the core CLI. This also includes adding the util functions from heroku-exec-util to the core CLI and migrating everything to work with TypeScript and @oclif/core v4. This PR also adds unit tests for the helper functions and the commands, something that did not previously exist.Type of Change
Breaking Changes (major semver update)
!after your change type to denote a change that breaks current behaviorFeature Additions (minor semver update)
Patch Updates (patch semver update)
Testing
Notes:
In order to test these commands, you will need to use a test app with a dyno. In order to test
ps:copyyou will need a test app with a dyno that contains files. The internally-shared appheroku-demo-appworks.Steps:
npm i && npm run build./bin/run ps:copy test.js -a heroku-demo-appand verify that thetest.jsfile has been downloaded./bin/run ps:exec -a heroku-demo-appand verify that you have successfully sshed into the dyno./bin/run ps:exec -a heroku-demo-app -- node -iand verify that thenode -icommand is run on the dyno. (You should get an error message about node not being available or recognized)../bin/run ps:forward 8080 -a heroku-demo-appand verify that it is successfully forwarding. Use ctrl+c to end the forwarding../bin/run ps:socks -a heroku-demo-appand verify that the socks port has started. Use ctrl+c to end the forwarding.Related Issues
GUS work item: W-17567656