fix(bundler): make bu pass arguments through

Preserve `bundle update --all` for the no-argument form while allowing specific gems and options to pass through.

Fixes #13871

Assisted-by: Claude Fable 5 (Claude Code)
This commit is contained in:
Rahul Agarwal 2026-07-19 05:00:55 +05:30
commit b071ac4419
2 changed files with 11 additions and 2 deletions

View file

@ -22,7 +22,7 @@ plugins=(... bundler)
| `bo` | `bundle open` | Opens the source directory for a gem in your bundle | | `bo` | `bundle open` | Opens the source directory for a gem in your bundle |
| `bout` | `bundle outdated` | List installed gems with newer versions available | | `bout` | `bundle outdated` | List installed gems with newer versions available |
| `bp` | `bundle package` | Package your needed .gem files into your application | | `bp` | `bundle package` | Package your needed .gem files into your application |
| `bu` | `bundle update --all` | Update your gems to the latest available versions | | `bu` | `bundle update --all` (no arguments) or `bundle update <args>` | Update all gems, or only the given gems/options (e.g. `bu rake`, `bu --ruby`) |
## Gem wrapper ## Gem wrapper

View file

@ -9,7 +9,16 @@ alias bl="bundle list"
alias bo="bundle open" alias bo="bundle open"
alias bout="bundle outdated" alias bout="bundle outdated"
alias bp="bundle package" alias bp="bundle package"
alias bu="bundle update --all" unalias bu 2>/dev/null
# `bundle update` needs --all to update everything, but rejects --all when
# gems or options are given (e.g. `bu <gem>`, `bu --ruby`)
bu() {
if [[ $# -eq 0 ]]; then
bundle update --all
else
bundle update "$@"
fi
}
## Gem wrapper ## Gem wrapper