ときに、CodeClimateへの連携時に、エラーで連携すら完了しないことがありますね。
エラーが出るファイルを除外してしまえばいいんだけども、除外をしてするためのYAMLにナニカを記載すると、それしか解析してくれなくなる。まずはデフォルト設定で解析してくれるやつを全部解析してほしいわけですよ。
たとえば、excluding-files-and-foldersに書いてある通りにしたら、engineしていしろと怒られちゃうんですね。公式サイトを見れば、カスタマイズ方法は分かるんだけど、これ書いちゃうとデフォルトで実行されるエンジンが除外されてしまうので、デフォルトの設定を知りたい
しかし、一度解析成功したプロジェクトの場合は、以下のように、Analysis Configurationから現在の設定をダウンロードできる。解析すら成功しないプロジェクトのことは忘れて通りそうなプロジェクトをささっと通してみましょう。
このpatchを展開すると以下のようになります。このデフォルトyaml自体は中々見つけられなかったので、検索ようにこのような記事を置いておきます。
.codeclimate.yml
engines:
brakeman:
enabled: true
bundler-audit:
enabled: true
csslint:
enabled: true
coffeelint:
enabled: true
duplication:
enabled: true
config:
languages:
- ruby
- javascript
- python
- php
eslint:
enabled: true
fixme:
enabled: true
rubocop:
enabled: true
ratings:
paths:
- Gemfile.lock
- "**.erb"
- "**.haml"
- "**.rb"
- "**.rhtml"
- "**.slim"
- "**.css"
- "**.coffee"
- "**.inc"
- "**.js"
- "**.jsx"
- "**.module"
- "**.php"
- "**.py"
exclude_paths:
- config/**/*
- db/**/*
- spec/**/*
- vendor/**/*
おまけ
解析に失敗してしまう幾つかのパターンの原因はこちら
- hash記述のsyntax error
-
ruby_parserにpull requestが出ているんですが、
{ 'hoge': :fugo }
という感じの記述をruby_parser
がparse出来ない問題
-
ruby_parserにpull requestが出ているんですが、
- エンコード問題
-
このへんに起因する正規表現の記述方法による
invalid multibyte character
-
このへんに起因する正規表現の記述方法による