still_active
Identify which of your dependencies are no longer under active development.
Installation
gem install still_active
Usage
The most important flag is the GitHub OAuth token, without which you will most certainly get rate limited.
Usage: still_active [options]
all flags are optional
--gemfile=GEMFILE path to gemfile
--gems=GEM,GEM2,... Gem(s)
--markdown Prints output in markdown format
--json Prints output in JSON format
--github-oauth-token=TOKEN GitHub OAuth token to make API calls
--simultaneous-requests=QTY Number of simultaneous requests made
--no-warning-range-end=YEARS maximum number of years since last activity until which you do not want to be warned about
--warning-range-end=YEARS maximum number of years since last activity that you want to be warned about
--critical-warning-emoji=EMOJI
--futurist-emoji=EMOJI
--success-emoji=EMOJI
--unsure-emoji=EMOJI
--warning-emoji=EMOJI
-h, --help Show this message
-v, --version Show version
Examples
still_active --json --gems=rails,nokogiri
Will output:
{"rails":{"latest_version":"6.1.4.1","latest_version_release_date":"2021-08-19 16:27:05 UTC","latest_pre_release_version":"7.0.0.alpha2","latest_pre_release_version_release_date":"2021-09-15 23:16:26 UTC","repository_url":"https://github.com/rails/rails","last_commit_date":"2021-11-06 09:16:40 UTC","ruby_gems_url":"https://rubygems.org/gems/rails"},"nokogiri":{"latest_version":"1.12.5","latest_version_release_date":"2021-09-27 19:03:57 UTC","latest_pre_release_version":"1.12.0.rc1","latest_pre_release_version_release_date":"2021-07-09 20:00:11 UTC","repository_url":"https://github.com/sparklemotion/nokogiri","last_commit_date":"2021-11-06 16:44:55 UTC","ruby_gems_url":"https://rubygems.org/gems/nokogiri"}}
# for this gem
still_active --github-oauth-token=my-token-here
Outputs:
gem activity old? | up to date? | name | version used | release date | latest version | release date | latest pre-release version | release date | last commit date |
---|---|---|---|---|---|---|---|---|---|
⚠️ | ✅ | code-scanning-rubocop | 0.6.1 | 2022/02 | 0.6.1 | 2022/02 | ❓ | ❓ | 2022/02 |
✅ | dead_end | 4.0.0 | 2022/06 | 4.0.0 | 2022/06 | ❓ | ❓ | 2023/05 | |
✅ | debug | 1.8.0 | 2023/05 | 1.8.0 | 2023/05 | 1.0.0.rc2 | 2021/09 | 2023/05 | |
✅ | faker | 3.2.0 | 2023/04 | 3.2.0 | 2023/04 | ❓ | ❓ | 2023/05 | |
✅ | rake | 13.0.6 | 2021/07 | 13.0.6 | 2021/07 | 13.0.0.pre.1 | 2019/09 | 2023/05 | |
✅ | rspec | 3.12.0 | 2022/10 | 3.12.0 | 2022/10 | 3.6.0.beta2 | 2016/12 | 2022/10 | |
✅ | rubocop | 1.51.0 | 2023/05 | 1.51.0 | 2023/05 | ❓ | ❓ | 2023/05 | |
✅ | rubocop-performance | 1.18.0 | 2023/05 | 1.18.0 | 2023/05 | ❓ | ❓ | 2023/05 | |
✅ | rubocop-rspec | 2.22.0 | 2023/05 | 2.22.0 | 2023/05 | 2.0.0.pre | 2020/10 | 2023/05 | |
✅ | rubocop-shopify | 2.13.0 | 2023/04 | 2.13.0 | 2023/04 | ❓ | ❓ | 2023/05 | |
⚠️ | still_active | 0.5.0 | ❓ | 0.4.1 | 2022/02 | ❓ | ❓ | 2023/05 | |
✅ | vcr | 6.1.0 | 2022/03 | 6.1.0 | 2022/03 | 2.0.0.rc2 | 2012/02 | 2023/01 | |
✅ | webmock | 3.18.1 | 2022/08 | 3.18.1 | 2022/08 | 2.0.0.beta2 | 2016/04 | 2022/08 |
Configuration options
gemfile_path
uses bundler to detect the Gemfile in your working directoryoutput_format
is markdown, can be configured to be JSONcritical_warning_emoji
🚩futurist_emoji
🔮success_emoji
✅unsure_emoji
❓warning_emoji
⚠️no_warning_range_end
1 (considered safe if last activity is at most 1 year ago)warning_range_end
3 (warns if last activity is between 1 and 3 years ago)
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome.
License
The gem is available as open source under the terms of the MIT License.