Skip to content

Conversation

@pyramation
Copy link
Contributor

@pyramation pyramation commented Dec 27, 2025

Summary

Renames pgpm upgrade-modules to pgpm upgrade (with up alias) and changes the default behavior to match pnpm's upgrade command:

  • Default behavior: Now upgrades all modules without prompting (previously was interactive)
  • Interactive mode: Use -i or --interactive flag to select modules interactively
  • Specific modules: Use positional args instead of --modules flag (e.g., pgpm upgrade @pgpm/base32)
  • Removed flags: --all (now default) and --modules (use positional args)
pgpm upgrade                    # Upgrade all modules (new default)
pgpm upgrade -i                 # Interactive selection
pgpm upgrade @pgpm/base32       # Upgrade specific module
pgpm up                         # Alias for upgrade

Updates since last revision

  • New interactive UI: Replaced checkbox prompt with pnpm-style upgradePrompt component from inquirerer 4.2.0
    • Arrow key navigation, version selection, filtering support
    • Shows package list with current → target version
  • Added spinner: Shows animated spinner while checking for updates
  • Dependency updates:
    • inquirerer 4.1.2 → 4.2.0 (across pgpm/cli, pgpm/core, packages/cli, packages/csv-to-pg)
    • genomic 5.0.3 → 5.2.0 (pgpm/cli, pgpm/core)

Review & Testing Checklist for Human

  • Test interactive UI: Run pgpm upgrade -i in a module with outdated dependencies and verify the new pnpm-style UI works correctly (arrow keys, space to select, enter to confirm)
  • Breaking change: The upgrade-modules command is completely removed. Update any documentation/scripts that reference the old command.
  • Spinner behavior: Verify the spinner displays correctly during update checks and doesn't interfere with CI output
  • Dependency compatibility: Verify inquirerer 4.2.0 and genomic 5.2.0 don't break other CLI commands that use these packages

Recommended test plan:

  1. In a pgpm module with outdated dependencies, run pgpm upgrade and verify it upgrades all without prompting
  2. Run pgpm upgrade -i and verify the new interactive UI appears with package list, version selection, and filtering
  3. Run pgpm upgrade @pgpm/base32 with a specific module and verify only that module is upgraded
  4. Run pgpm up and verify the alias works

Notes

…vior

- Rename 'upgrade-modules' command to 'upgrade' (with 'up' alias)
- Change default behavior to upgrade all modules (non-interactive, like pnpm)
- Add -i/--interactive flag for interactive selection mode
- Use positional args for specific modules instead of --modules flag
- Update help text and tests to reflect new behavior

Examples:
  pgpm upgrade                    # Upgrade all modules
  pgpm upgrade -i                 # Interactive selection
  pgpm upgrade @pgpm/base32       # Upgrade specific module
  pgpm up                         # Alias for upgrade
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

- Update inquirerer to 4.2.0 for new upgradePrompt component
- Update genomic to 5.2.0 for compatible inquirerer version
- Replace checkbox prompt with pnpm-style interactive upgrade UI
- Add spinner while checking for updates
- Interactive mode now shows package list with version selection
@pyramation pyramation merged commit 6a1cef8 into main Dec 27, 2025
35 checks passed
@pyramation pyramation deleted the devin/1766835354-pgpm-upgrade-command branch December 27, 2025 12:52
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.

2 participants