mattbrictson / bundle_update_interactive

A stylish interactive mode for Bundler, inspired by `yarn upgrade-interactive`
MIT License
157 stars 5 forks source link

Idea: show progress indicator while resolving dependencies #24

Closed mattbrictson closed 2 months ago

mattbrictson commented 3 months ago

For a large Gemfile with many Git sources, the Resolving latest gem versions... step can take a long time. On one of my projects, this step takes 20 seconds or more. During this time, it would be nice if there was an indication of progress or spinner animation.

When running bundle lock, Bundler at least shows each Git source that it is fetching, which is a decent indication of progress:

$ bundle lock --update
Fetching https://github.com/mattbrictson/xray-rails.git
Fetching https://github.com/mattbrictson/tomo-plugin-sidekiq.git
Fetching https://github.com/mattbrictson/tomo-plugin-rollbar.git
Fetching https://github.com/mattbrictson/tomo.git
Fetching https://github.com/heapsource/active_model_otp.git
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Writing lockfile

It seems reasonable that update-interactive should be able to display this sort of progress at a minimum.

mattbrictson commented 2 months ago

I've asked whether Bundler itself can do a better job of displaying progress (to stderr) and will work on a PR there. See https://github.com/rubygems/rubygems/issues/7938

mattbrictson commented 2 months ago

This has been addressed upstream in Bundler itself: https://github.com/rubygems/rubygems/pull/7957