still_active
Identify which of your dependencies are no longer under active development.
Installation
gem install still_activeUsage
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,nokogiriWill 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-hereOutputs:
| 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_pathuses bundler to detect the Gemfile in your working directory -
output_formatis markdown, can be configured to be JSON -
critical_warning_emoji🚩 -
futurist_emoji🔮 -
success_emoji✅ -
unsure_emoji❓ -
warning_emoji⚠️ -
no_warning_range_end1 (considered safe if last activity is at most 1 year ago) -
warning_range_end3 (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.