Skip to content

fix: removes 'default' table header from addon:plans table#3555

Closed
tlowrimore-heroku wants to merge 191 commits intomainfrom
tl/addon-plans-table-header
Closed

fix: removes 'default' table header from addon:plans table#3555
tlowrimore-heroku wants to merge 191 commits intomainfrom
tl/addon-plans-table-header

Conversation

@tlowrimore-heroku
Copy link
Contributor

Summary

This PR removes a table header label ("default") from the addons:plans output.

Type of Change

Breaking Changes (major semver update)

  • Add a ! after your change type to denote a change that breaks current behavior

Feature Additions (minor semver update)

  • feat: Introduces a new feature to the codebase

Patch Updates (patch semver update)

  • fix: Bug fix
  • deps: Dependency upgrade
  • revert: Revert a previous commit
  • chore: Change that does not affect production code
  • refactor: Refactoring existing code without changing behavior
  • test: Add/update/remove tests

Testing

Notes:

This can be verified by running the unit test: npx mocha test/unit/commands/addons/plans.unit.test.ts. It can also be verified by following the steps below.

Steps:

  1. run bin/dev.js addons:plans heroku-redis
  2. The first column of the output table should not have a header.

Related Issues

GUS work item: W-21341692

eablack and others added 30 commits July 17, 2025 16:31
* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command
* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* Update oclif dependencies to latest

* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* add back access and 2fa commands

* Add token, logout, 2fa, and fix tests.

* Update runcommand, tests

* Update tests

* Add expects for empty stdout

* Replace with temporary test

* Update timeout to match what we originally had

* fix yarn.lock

* update test

* Stub ux.action, update tests

* Update logout test
* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* Update oclif dependencies to latest

* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* Fix bin/run, run yarn install

* refactor: add back access and 2fa commands (#3304)

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* Update oclif dependencies to latest

* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* add back access and 2fa commands

* Add token, logout, 2fa, and fix tests.

* Update runcommand, tests

* Update tests

* Add expects for empty stdout

* Replace with temporary test

* Update timeout to match what we originally had

* fix yarn.lock

* update test

* Stub ux.action, update tests

* Update logout test

* Add accounts index command back, wrap accounts function in new class module

* Move everything into wrapper, rename wrapper to just accounts

* Convert current/remove commands for accounts

* convert add and set for accounts commands

* Update yarn.lock

* Remove duplicates

* Fix commenting out of test

* be consistent with imported module capitalization
* Update oclif dependencies to latest

* Add back addons index command

* Convert addons:info to esm

* convert destroy and rename

* Convert confirmcommand to class, convert attach to esm

* convert addons:create

* Convert addons detach and docs to esm

* convert many addons commands to esm

* Bump cli-util package number, fix test

* fix tests

* remove .onky

* fix tests

* add overflow: wrap to displayAll

* try manuall setting columns

* set column width

* reset column width after setting it

* try different setting for seting columns

* remove columns setting, add debugging

* Fix test for ci

* fix tests

* fix test

* add table header checks

* Add header checks

* fix capitalization
* Convert authorizations:info and display lib

* Convert create, revoke, and update to esm

* fix test

* convert index and rotate to esm

* Remove comments
* Convert apps index to esm

* Add create, destroy, errors, index, info back to apps commands

* Add join, leave and lock back to apps commands

* Convert apps commands to esm

* fix test

* fix test

* Fix test (for real)

* revert changes to nyc-config
* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* Fix bin/run, run yarn install

* convert buildpacks:add to esm

* convert clear to esm

* Convert buildpacks index to esm

* Convert buildpacks:info to esm

* Convert remove to esm

* Convert search, set, verisons to esm

* update yarn lockfile
* convert certs:add to esm

* convert certs:generate to esm

* Convert certs:index to esm

* convert certs:info to esm

* convert certs:remove to esm

* convert certs:update to esm

* convert certs auto refresh, disable, enable, index to esm

* Fix shared cert update tests

* Fix issue with lolex had with ink. Switch to explicitly stubbing date.now

* Fix inquirer usage, revert lolex updates
* Convert clients commands to esm

* fix test
* convert domains commands to esm

* Fix sorting and extended options

* Add --sort and --extended as options. Remove references to --csv, which oclif/table doesn't support out of the box

* Add manual column filtering
* convert ci commands to oclif

* Add back tests for info, last, rerun, run

* Add index test back

* fix index tests, convert pipelines helper into class

* Update tests

* Fix test

* fix test

* Add migrate-manifest test back

* Add back tests for ci:config

* Remove comments, app flag requirement

* Clean up types, replace validator with custom checkers
* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* Move all unconverted commands to old commands temporarily.

* refactor!: convert to esm (#3301)

* Comment out tests

* Upgrade to oclif/core v4, comment out most commands, libs, and tests

* move to esm

* Update dev/run commands, convert tests to esm

* Make tests compatible with ESM

* revert log-displayer to commonjs

* Uncomment regions, add some tests back

* Update yarn.lock

* Comment out new commands from pg upgrade

* Adjust tests to account for variable table length

* Fix regions test, add stuff back to bin/run and update bin/dev

* fix lint

* Remove temp script

* Update heroku-cli/command

* Add esm ts-node option to tsconfig.json

* Update requires to imports, switch to cli-progress from smooth-progress

* Update to modern module resolution

* Rewrite Editor to stop using ancient library

* Update a few packages

* Remove shellescape, fix lint

* Update to esm version of heroku-cli/command

* update to node 22

* Update to eslint 8, apply some formatting fixes, edit custom rules to account for new default rules

* add back radfile to test

* Update to eslint 8, apply some formatting fixes, edit custom rules to account for new default rules

* fix linting

* fix yarn.lock

* Uncomment things that got commented out via rebase

* Uncomment display of table and info

* Fix spacing for test
* convert features commands to esm

* convert git commands to esm

* fix test

* convert notifications to esm
* refactor: convert misc commands to esm

* remove .only

* fix tests

* convert usage:addons to esm

* convert maintenance commands to esm

* Fix header capitalization

* fix test
* Convert keys, labs, telemetry to esm

* fix eventemitter import

* remove js-yaml as a dependency, fix some tests

* fix stubbing for prompt

* enable displaying of telemetry object

* fix test and transform deps.ts to not use require

* fix tests

* add stub for spawn

* fix test

* replace require with import

* change require to import, add types for heroku-eventsource
* convert dashboard, logs commands, rewrite sparkline as lib util, replace custom heroku/eventsource with standard one

* refactor log-displayer to class, add tests for dashboard and logs, add back misc lib tests

* Fix accounts test, add back other lib tests

* Add rake and confirm command tests back

* fix confirm command test

* Add proxy support to updated eventsource usage. Add back log displayer test.

* remove unneeded eslint directive

* fix log displayer tests

* fix test

* fix test

* fix last test
* convert drains commands to esm

* fixed tests

* suppress version update warning

* fixed linting

* revert package version to 10.12.0
tlowrimore-heroku and others added 27 commits February 4, 2026 17:20
* remove monorepo structure. move everything from packages/cli to root.

* switch from /lib to /dist, fix eslint config

* remove unneeded ignores

* fix: regenerate package-lock.json after monorepo removal

The package-lock.json was out of sync with package.json after removing
the monorepo structure, causing npm ci to fail in CI. Regenerated the
lock file to resolve dependency mismatches.

* fix: update paths after monorepo removal

Update test and config file paths that were still referencing the old
monorepo structure (packages/cli).

* fix: update oclif config to use dist directory and set test root

After switching from /lib to /dist in commit 1fad4d5, the
oclif.config.mjs wasn't updated to point to the new directory.
This caused commands to not be discovered.

Also set OCLIF_TEST_ROOT environment variable in test init to help
@oclif/test find the CLI root after monorepo removal.

* fix: clean up git remotes created by apps:create tests

The apps:create command creates actual git remotes when running in a
git repository. In tests, this was creating a 'heroku' remote pointing
to 'foobar' which then interfered with other tests that check for app
names from git remotes.

Added cleanup in afterEach to remove any heroku remotes created during
the tests.

* fix(test): add Procfile fixture for local command tests

After removing the monorepo structure, the example Procfile that local
command tests depended on was deleted. Created a test fixture at
test/fixtures/local/Procfile with the same content.

Updated tests that verify default Procfile loading to change directory
to the fixtures location before running, ensuring they can find the
default Procfile without explicitly specifying the path.

* remove converted redis commands

* make sure we run oclif manifest when we build

* remove dependence on lerna for publishing to npm

* no longer private now that the monorepo structure is gone

* move husky install to prepare so it won't run when publishing

* only run husky if .git exists

* convert scripts to esm

* fix use of execa

* actually run npm shrinkwrap, fix create-release-pr

* remove converted redis commands

* publish oclif config, add protection to bin/run, and run npm install

* fix invalidate cache script to include alpha releases

* really fix cache invalidation for prereleases.

* move config back into package.json
update @heroku-cli/notifications to include spawn error fix
* Migrating command 'data:pg:create', utils and tests

* Migrating command 'data:pg:destroy' and tests

* Migrating command 'data:pg:docs'

* Create missing tests for 'data:pg:docs'

* Migrating command 'data:pg:psql' and tests

* Migrating command 'data:pg:fork' and tests

* Migrating command 'data:pg:settings' and tests

* Migrating command 'data:pg:update' and tests

* Normalizing HEROKU_DATA_HOST to the default value on tests

* Fixing test with problems on table output checks

* Configuring terminal size on tests to avoid line breaks in output checks
* fix: update @modelcontextprotocol/sdk to resolve cross-client data leak vulnerability

Updates @modelcontextprotocol/sdk to version >=1.26.0 to address GHSA-345p-7cg4-v4c7,
which prevented cross-client data leaks via shared server/transport instance reuse.

* fix: update brace-expansion to resolve ReDoS vulnerability

Updates brace-expansion to version >=2.0.2 to address GHSA-v6h2-p8h4-qcjw,
which fixes a Regular Expression Denial of Service vulnerability.

* fix: update dependencies to resolve fast-xml-parser and js-yaml vulnerabilities

Runs npm audit fix to automatically update fast-xml-parser (>=5.3.4) to address
GHSA-37qj-frw5-hhjh (RangeError DoS) and js-yaml (>=4.1.1) to address
GHSA-mh29-5h37-fv8m (prototype pollution in merge).

* fix: update sinon to v21 to resolve diff DoS vulnerability

Updates sinon from v19 to v21 which includes diff v9, addressing GHSA-73rr-hh4g-fpgx
(Denial of Service vulnerability in parsePatch and applyPatch).

* fix issue with pathing

* fix: update mcp:start to work with @modelcontextprotocol/sdk v1.26+

The @heroku/mcp-server package's exports field doesn't define a main entry,
causing import.meta.resolve to fail. Updated to use a direct path to the
bin file instead. Also updated the corresponding test to match.

* stop installing sudo for now due to npm token issues

* Update minor patches in heroku packages, remove unused @heroku/eventsource

* update jsdiff
* activation of acceptance and integration tests

* resolving linting errors

* resolving linting errors

* resolving merge conflicts

* accepting admin or collaborator for when testing locally or in ci

* updating the change to use npx instead of yarn
* Copying and refactoring data:pg:attachments topic commands and tests

* Copying and refactoring data:pg:quotas topic commands and tests

* Addressing PR feedback
* Refactor to use consistent colors

* Copy and refactor 'data:pg:credentials' topic commands
* chore: remove parse-procfile and github-url-to-object dependencies

Replace external dependencies with local implementations:

- parse-procfile: Implemented Procfile parsing directly in load-foreman-procfile.ts
  with proper TypeScript types
- github-url-to-object: Implemented parseGitHubUrl function in git.ts to handle
  SSH and HTTPS GitHub URL formats

Also updated package dependency ranges to use caret (^) for better semver
flexibility and moved test-only dependencies (mock-stdin, stdout-stderr) to
devDependencies.

The local implementations maintain identical behavior while reducing external
dependencies and improving type safety.

* update term-img, fix dashboard.ts, fix load-foreman lint error

* update glob

* remove unnecessaty monorepo test and globby.

* fix lint
…3530)

remove ai plugin, update heroku-mcp-server, add oclif/search
* chore: update PR template (#3514)

* release v10.17.0 (#3523)

v10.17.0

* fix: updates lerna to address a node-tar vulnerability (#3526)

* updates lerna to address a node-tar vulnerability

* ran lerna repair

* Fix linter errors

* fix: updates node-gyp and ssh2 to fix vulnerable transitive dependencies (#3528)

updates node-gyp and ssh2 to fix transitive dependency on vulnerable tar package

* chore(deps): bump @modelcontextprotocol/sdk from 1.25.2 to 1.26.0 (#3515)

Bumps [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) from 1.25.2 to 1.26.0.
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)
- [Commits](modelcontextprotocol/typescript-sdk@v1.25.2...v1.26.0)

---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
  dependency-version: 1.26.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timothy Lowrimore <154477569+tlowrimore-heroku@users.noreply.github.com>

* chore(deps): bump qs from 6.14.1 to 6.14.2 (#3527)

Bumps [qs](https://github.com/ljharb/qs) from 6.14.1 to 6.14.2.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.14.1...v6.14.2)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Timothy Lowrimore <154477569+tlowrimore-heroku@users.noreply.github.com>

* Fixes linter errors

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Katy Bowman <katy.bowman@salesforce.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: add data:maintenances:info command

* feat: add data:maintenances:run

* feat: add data:maintenances:schedule and update data:maintenances:run

* feat: add data:maintenances:wait

* feat: add data:maintenances:window

* feat: add data:maintenances:window:update

* feat: update error messages for data:maintenances:run and data:maintenances:wait

* update data:maintenances:run test
adds local zed config to gitignore
…ail (#3538)

* fixes port offset bug that was causing redis cli connection to fail

* adds test coverage for port offsets in redis:cli command
* fix order attributes, missing header

* chore: update dependencies and improve formatting consistency

- Add commit message prefix configuration to dependabot
- Update @heroku-cli/command, @heroku-cli/util, and @oclif/core
- Fix code formatting issues in addons/info, apps/errors, features/info, and releases commands
- Improve consistency in column ordering and header formatting

* fix tests to align with fixed formatting. also, add single test file npm script

* add color.example to webhooks commands.

* fix spaces:info and releases:index tests
* fix: restore --repl flag functionality in v11

During the migration to oclif v3 and ESM modules, the custom argument
parsing logic for the --repl flag was removed from bin/run. This caused
the REPL feature to stop working in v11.

This commit restores the --repl flag by:
- Adding logic to parse arguments and check for --repl before calling execute()
- Converting bin/heroku-repl.js to ESM format (import/export syntax)
- Adding the missing start() method to the HerokuRepl class

The REPL feature now works as expected, allowing users to enter an
interactive session with `heroku --repl`.

* update package-lock.json to remove vulns
* alphabetically sorts pg settings ascending

* addresses linter insanity
* uncomments/updates completions and container tests

* reenables container/streamer unit tests

* appeasing the pedant

* adds lint:fix:all script for fixing errors and warnings
…mands (#3542)

* move repl to actual repl command, replace custom prompt mode with heroku-cli-command version

* move repl logic into lib, add tests

* Update heroku-cli-command version, remove --prompt global flags from commands without args/flags, delete prompt command, delete deprecated pg upgrade command

* remove pg:upgrade from commands-output

* remove heroku-repl.js, now that it has been moved to lib/repl.ts

* disable prompt mode for pg:update and pg:create
…nd heroku console (#3545)

fix: prevent spinner from interfering with 2FA prompt in heroku run

Moved the "Running <command> on <app>" status message to display
after the dyno is successfully created, rather than before the API
call. This ensures the spinner doesn't interfere with inquirer's
readline interface when a 2FA prompt is displayed during the dyno
creation POST request.

Previously, the spinner would start before the API call, and if 2FA
was required, inquirer would try to prompt while the spinner was
still active, causing the prompt to be reprinted on every keystroke.
@tlowrimore-heroku tlowrimore-heroku requested a review from a team as a code owner March 4, 2026 00:01
@tlowrimore-heroku
Copy link
Contributor Author

Closed as base branch was incorrect and not editable after creation. See: #3556

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants