このページの内容は2017年7月現在、更新が停止しています。最新の情報は新しいドキュメントページ https://docs.sideci.com をご覧ください。

解析ツールのデフォルト設定

Last Updated July 07, 2016

SideCIで提供している静的解析ツールでのSideCI上でのデフォルトの設定の一覧です。SideCIではリポジトリに何も追加することなく、解析、結果を閲覧することが出来ます。その際には本ページ記載の設定値が適用されています。

sideci.ymlやそれぞれのツールの設定ファイルを作成するなどカスタマイズを行って頂いた場合にはそれらの設定値が適用されます。

目次

SideCIが現在対応しているプログラミング言語・フレームワークは下記のとおりです。

  1. Ruby / Ruby on Rails
  2. PHP
  3. JavaScript
  4. CoffeeScript
  5. TypeScript
  6. Haml
  7. SCSS
  8. Python

Ruby / Ruby on Rails

Ruby / Ruby on Rails向けに下記の4つの静的解析ツールを提供しています。

  1. RuboCop
  2. Reek
  3. Rails Best Practices
  4. Brakeman

RuboCop

RuboCopのデフォルト設定default.ymlが適用されます。また、フレームワークがRailsである場合、それを自動判定し、-Rオプションを有効にして実行しています。

-RオプションはRails向けの機能が有効になるオプションです。
RuboCop > Cops > Rails

関連リンク

Reek

Reekのデフォルト設定defaults.reekが適用されます。

関連リンク

Rails Best Practices

rails_best_practicesのデフォルト設定を一部変更したdefault_rails_best_practices.ymlが適用されます。

誤検知やバグが報告されているRemoveUnused系の機能が無効化されています。また、RuboCopなどの他のツールでも同様の指摘が行われるRemoveTrailingWhitespaceCheckなどが無効化されています。

vendorspectestfeaturesなどはrails_best_practicesのデフォルト設定では無効になっており、SideCI上でも無効になっています。有効にしたい場合はsideci.ymlで設定を行ってください。

関連リンク

Brakeman

brakemanのデフォルト設定が適用されます。

関連リンク

PHP

PHP向けに下記の2つの静的解析ツールを提供しています。

  1. PHP CodeSniffer(PHPCS)
  2. PHP Mess Detector(PHPMD)

PHP CodeSniffer

PHP CodeSnifferでは以下のような設定で解析が実行されます。
.php拡張子のファイルのみが捜査対象になるよう --extensions=phpが有効になっています。
コーディング規約にはPSR2が適用されます。

以下に記載のフレームワークの場合には、それぞれのフレームワークのためのコーディング規約が適用されます。また、解析対象のディレクトリも記載のものが設定されます。

- CakePHP
  + standard: CakePHP
  + dir: app/
- FuelPHP
  + standard: FuelPHP
  + dir: fuel/
- CodeIgniter
  + standard: CodeIgniter
  + dir: application/
- Symfony
  + standard: Symfony
  + dir: app/

PSR2はPHP CodeSnifferのデフォルトでインストールするものが使用されます。
それ以外のフレームワークについてはそれぞれ下記のものが使われます。
CakePHP, FuelPHP, CodeIgniter, Symfony

これらの設定値を変更した場合にはsideci.ymlを作成し、リポジトリトップに追加して下さい。

関連リンク

PHPMD - PHP Mess Detector

PHPMDでは下記のルールがデフォルトで有効に設定されています。
cleancode,codesize,controversial,design,naming,unusedcode

適用するルールの変更や、独自のルールセットの指定などを行いたい場合はsideci.ymlを作成し、リポジトリトップに追加して下さい。

関連リンク

JavaScript

JavaScript向けに下記の2つの静的解析ツールを提供しています。

  1. JSHint
  2. ESLint

JSHint

JSHintのデフォルト設定が適用されます。

.js拡張子のファイルが解析対象です。また、.min.js拡張子を持つJavaScriptファイルは解析対象から除外されます。

解析対象からファイルを除外したい場合には.jshintignoreファイルを作成し、リポジトリのトップに追加して下さい。各種の設定を変更したい場合は.jshintrcファイルを作成し、リポジトリのトップに追加して下さい。

関連リンク

ESLint

ESLintのデフォルト設定が適用されます。

.js拡張子のファイルが解析対象です。また、.min.js拡張子を持つJavaScriptファイルは解析対象から除外されます。

解析対象からファイルを除外したい場合には.eslintignoreファイルを作成し、リポジトリのトップに追加して下さい。各種の設定を変更したい場合は.eslintrcファイルを作成し、リポジトリのトップに追加して下さい。

関連リンク

CoffeeScript

CofeeLint

CoffeeLintのデフォルト設定が適用されます。

.cofee拡張子のファイルが解析対象です。

各種の設定を変更したい場合はcoffeelint.jsonファイルもしくはcoffeelint.jsonを作成、設定を記述し、リポジトリのトップに追加して下さい。

関連リンク

TypeScript

TSLint

TSLintのデフォルト設定が適用されます。

.ts拡張子のファイルが解析対象です。

各種の設定を変更したい場合はtslint.jsonファイルを作成し、リポジトリのトップに追加して下さい。

関連リンク

Haml

HAML-Lint

HAML-Lintのデフォルト設定であるdefault.ymlが適用されます。

.haml拡張子のファイルが解析対象です。

各種の設定を変更したい場合は.haml-lint.ymlファイルを作成し、リポジトリのトップに追加して下さい。

include_linter exclude_linter config exclude fileなどのオプションはsideci.ymlで設定可能です。sideci.ymlを作成し、リポジトリトップに追加して下さい。

関連リンク

SCSS

SCSS-Lint

SCSS-Lintのデフォルト設定であるdefault.ymlが適用されます。

app/assets/stylesheets/**/*.css.scssファイルが解析対象です。解析対象を変更したい場合は.scss-lint.yml内にscss_files:にてファイルの指定を行って下さい。

各種の設定を変更したい場合は.scss-lint.ymlファイルを作成し、リポジトリのトップに追加して下さい。

関連リンク

Python

Flake8

Flake8のデフォルト設定が適用されます。
設定をカスタマイズしたい場合は tox.ini または setup.cfg をリポジトリトップに追加して下さい。

デフォルトではPython3での解析が実行されます。Python2系での解析を実行したい場合、sideci.ymlを設定してください。

関連リンク

最後に

本ページでは各解析ツールを設定・Customizeを行わずに使用した場合のSideCIでのデフォルト設定を記載致しました。それぞれのCustomizeについてはそれぞれの関連リンクに記載のドキュメントを参考に行って下さい。

また、SideCI上での設定が可能なものについてはコードレビュー機能の設定をsideci.ymlでを行うを参照下さい。

解析ツールのデフォルト設定

Last Updated July 07, 2016

SideCIで提供している静的解析ツールでのSideCI上でのデフォルトの設定の一覧です。SideCIではリポジトリに何も追加することなく、解析、結果を閲覧することが出来ます。その際には本ページ記載の設定値が適用されています。

sideci.ymlやそれぞれのツールの設定ファイルを作成するなどカスタマイズを行って頂いた場合にはそれらの設定値が適用されます。

目次

SideCIが現在対応しているプログラミング言語・フレームワークは下記のとおりです。

  1. Ruby / Ruby on Rails
  2. PHP
  3. JavaScript
  4. CoffeeScript
  5. TypeScript
  6. Haml
  7. SCSS
  8. Python

Ruby / Ruby on Rails

Ruby / Ruby on Rails向けに下記の4つの静的解析ツールを提供しています。

  1. RuboCop
  2. Reek
  3. Rails Best Practices
  4. Brakeman

RuboCop

RuboCopのデフォルト設定default.ymlが適用されます。また、フレームワークがRailsである場合、それを自動判定し、-Rオプションを有効にして実行しています。

-RオプションはRails向けの機能が有効になるオプションです。
RuboCop > Cops > Rails

関連リンク

Reek

Reekのデフォルト設定defaults.reekが適用されます。

関連リンク

Rails Best Practices

rails_best_practicesのデフォルト設定を一部変更したdefault_rails_best_practices.ymlが適用されます。

誤検知やバグが報告されているRemoveUnused系の機能が無効化されています。また、RuboCopなどの他のツールでも同様の指摘が行われるRemoveTrailingWhitespaceCheckなどが無効化されています。

vendorspectestfeaturesなどはrails_best_practicesのデフォルト設定では無効になっており、SideCI上でも無効になっています。有効にしたい場合はsideci.ymlで設定を行ってください。

関連リンク

Brakeman

brakemanのデフォルト設定が適用されます。

関連リンク

PHP

PHP向けに下記の2つの静的解析ツールを提供しています。

  1. PHP CodeSniffer(PHPCS)
  2. PHP Mess Detector(PHPMD)

PHP CodeSniffer

PHP CodeSnifferでは以下のような設定で解析が実行されます。
.php拡張子のファイルのみが捜査対象になるよう --extensions=phpが有効になっています。
コーディング規約にはPSR2が適用されます。

以下に記載のフレームワークの場合には、それぞれのフレームワークのためのコーディング規約が適用されます。また、解析対象のディレクトリも記載のものが設定されます。

- CakePHP
  + standard: CakePHP
  + dir: app/
- FuelPHP
  + standard: FuelPHP
  + dir: fuel/
- CodeIgniter
  + standard: CodeIgniter
  + dir: application/
- Symfony
  + standard: Symfony
  + dir: app/

PSR2はPHP CodeSnifferのデフォルトでインストールするものが使用されます。
それ以外のフレームワークについてはそれぞれ下記のものが使われます。
CakePHP, FuelPHP, CodeIgniter, Symfony

これらの設定値を変更した場合にはsideci.ymlを作成し、リポジトリトップに追加して下さい。

関連リンク

PHPMD - PHP Mess Detector

PHPMDでは下記のルールがデフォルトで有効に設定されています。
cleancode,codesize,controversial,design,naming,unusedcode

適用するルールの変更や、独自のルールセットの指定などを行いたい場合はsideci.ymlを作成し、リポジトリトップに追加して下さい。

関連リンク

JavaScript

JavaScript向けに下記の2つの静的解析ツールを提供しています。

  1. JSHint
  2. ESLint

JSHint

JSHintのデフォルト設定が適用されます。

.js拡張子のファイルが解析対象です。また、.min.js拡張子を持つJavaScriptファイルは解析対象から除外されます。

解析対象からファイルを除外したい場合には.jshintignoreファイルを作成し、リポジトリのトップに追加して下さい。各種の設定を変更したい場合は.jshintrcファイルを作成し、リポジトリのトップに追加して下さい。

関連リンク

ESLint

ESLintのデフォルト設定が適用されます。

.js拡張子のファイルが解析対象です。また、.min.js拡張子を持つJavaScriptファイルは解析対象から除外されます。

解析対象からファイルを除外したい場合には.eslintignoreファイルを作成し、リポジトリのトップに追加して下さい。各種の設定を変更したい場合は.eslintrcファイルを作成し、リポジトリのトップに追加して下さい。

関連リンク

CoffeeScript

CofeeLint

CoffeeLintのデフォルト設定が適用されます。

.cofee拡張子のファイルが解析対象です。

各種の設定を変更したい場合はcoffeelint.jsonファイルもしくはcoffeelint.jsonを作成、設定を記述し、リポジトリのトップに追加して下さい。

関連リンク

TypeScript

TSLint

TSLintのデフォルト設定が適用されます。

.ts拡張子のファイルが解析対象です。

各種の設定を変更したい場合はtslint.jsonファイルを作成し、リポジトリのトップに追加して下さい。

関連リンク

Haml

HAML-Lint

HAML-Lintのデフォルト設定であるdefault.ymlが適用されます。

.haml拡張子のファイルが解析対象です。

各種の設定を変更したい場合は.haml-lint.ymlファイルを作成し、リポジトリのトップに追加して下さい。

include_linter exclude_linter config exclude fileなどのオプションはsideci.ymlで設定可能です。sideci.ymlを作成し、リポジトリトップに追加して下さい。

関連リンク

SCSS

SCSS-Lint

SCSS-Lintのデフォルト設定であるdefault.ymlが適用されます。

app/assets/stylesheets/**/*.css.scssファイルが解析対象です。解析対象を変更したい場合は.scss-lint.yml内にscss_files:にてファイルの指定を行って下さい。

各種の設定を変更したい場合は.scss-lint.ymlファイルを作成し、リポジトリのトップに追加して下さい。

関連リンク

Python

Flake8

Flake8のデフォルト設定が適用されます。
設定をカスタマイズしたい場合は tox.ini または setup.cfg をリポジトリトップに追加して下さい。

デフォルトではPython3での解析が実行されます。Python2系での解析を実行したい場合、sideci.ymlを設定してください。

関連リンク

最後に

本ページでは各解析ツールを設定・Customizeを行わずに使用した場合のSideCIでのデフォルト設定を記載致しました。それぞれのCustomizeについてはそれぞれの関連リンクに記載のドキュメントを参考に行って下さい。

また、SideCI上での設定が可能なものについてはコードレビュー機能の設定をsideci.ymlでを行うを参照下さい。