RuboCop 1.5で導入されたSuggestExtensions
パラメータについて記しておきます。
導入されたパッチは以下です。
たとえば Bundler を使って RSpec を依存指定している一方で、RuboCop RSpec を使っていない場合は、以下のように RSpec に対応した拡張 RuboCop が存在することを rubocop
コマンド実行のメッセージでサジェスチョンします。不必要な場合はメッセージ中に含まれている方法でオプトアウトできます。
% bundle exec rubocop --parallel (snip) Tip: Based on detected gems, the following RuboCop extension libraries might be helpful: * rubocop-rspec (http://github.com/rubocop-hq/rubocop-rspec) You can opt out of this message by adding the following to your config (see https://docs.rubocop.org/rubocop/extensions.html#extension-suggestions for more options): AllCops: SuggestExtensions: false
現在デフォルトでサジェスチョンするのは、RuboCop HQ で管理されている以下の拡張 RuboCop です。
- RuboCop Rails https://github.com/rubocop-hq/rubocop-rails
- RuboCop RSpec https://github.com/rubocop-hq/rubocop-rspec
- RuboCop Minitest https://github.com/rubocop-hq/rubocop-minitest
- RuboCop Sequel https://github.com/rubocop-hq/rubocop-sequel
- RuboCop Rake https://github.com/rubocop-hq/rubocop-rake
新たに拡張 RuboCop を足すこともなく、こういったサジェスチョンが不要といった場合は、メッセージにあるように SuggestExtensions: false
を .rubocop.yml に指定してください。サジェスチョンメッセージが消えます。
AllCops: SuggestExtensions: false
また、先ほど RuboCop 1.5.2 がリリースされました。
RuboCop 1.5.0, 1.5.1 は、依存している regexp_parser について 2.0 以上を要求するようにしていましたが、Capybara などは現状 1 系のサポートのみとなっていたため、RuboCop 1.5 系にアップグレードできないというフィードバックがありました。
そのため、RuboCop 1.5.2 では regexp_parser 1 系と 2 系をサポートするようにしました。
注意点としては、regexp_parser 1 系を使っている場合は knu さんが直してくれたマルチバイト文字の正規表現に関する既知のバグが残っているので、ご注意ください (regexp_parser 2 系に上がると直ります) 。両系をサポートしたパッチはこちら。
bundle update
で RuboCop 1.5 系へのアップグレードを試みた際に、唐突に 1.4.2 から 1.5.2 に上がった場合はこういった事情になります。