codeclimate-rubocop icon indicating copy to clipboard operation
codeclimate-rubocop copied to clipboard

Remove support for the standardrb gems from the regular rubocop channels

Open BrianHawley opened this issue 2 years ago • 1 comments

The standard gems added in #351 are currently blocking rubocop updates, just by being referenced in the Gemfile:

  • rubocop is up to 1.51.0 but standard requires "~> 1.50.2".
  • rubocop-performance is up to 1.18.0 but standard-performance requires "~> 1.16.0".

I checked with the standard gem maintainers in https://github.com/standardrb/standard-performance/issues/4 and it was made clear that the standard gems can't be updated at the same pace as the rubocop gems they reference, because every rubocop update requires standard to do critical evaluation of the new changes, and can have corresponding config file changes. So, understandably, they can't keep the same release cadence.

However, that means that people who don't use standard will be blocked from using the latest rubocop gems, just because the standard gems they aren't using will block them.

I gather from https://github.com/standardrb/standard/issues/439 that:

  • There is a standard codeclimate engine separate from the rubocop engine at https://github.com/jakeonfire/codeclimate-standard
  • The standard engine doesn't support the case of standard being loaded from rubocop.
  • The standard engine doesn't support the current version of standard, and hasn't been updated in a couple years.

Given all that, we have a couple options, which we might do both of:

  • Make separate channel/standard/standard-version branches for rubocop+standard in this codeclimate-rubocop engine, for people who need to load standard from rubocop. Then channel/standard/beta could have the latest version of standard, with the latest rubocop gem versions that standard supports.
  • Update https://github.com/jakeonfire/codeclimate-standard to support the latest version of standard. Off topic for here, but the same people who added standard support here would likely be interested in doing that work.

That way we could remove standard from channel/beta and be able to update rubocop further.

BrianHawley avatar May 24 '23 19:05 BrianHawley

@cquinones100, @RubyBrewsday, what do you think? This should make it possible to use standard from rubocop if you want to, but not be blocked by standard if you don't use it.

BrianHawley avatar May 24 '23 19:05 BrianHawley