Sider Blog

コードレビュー自動化サービス「Sider」を運営するSider株式会社のコーポレートブログです。

Siderの運営会社が2019年10月末日より株式会社スリークに変わります

こんにちは。Siderの角です。 Sider事業はSider株式会社から株式会社フィックスターズの100%子会社である株式会社スリーク(以下、「スリーク社」と記載)に10月末日に譲渡されます。そのため、10月末日に運営会社が株式会社スリークに変更になります。

運営会社は変更になりますが、私(角)含めSiderのチームは引き続きSiderを継続的に開発・運営していきますのでご安心ください。また、東証一部上場企業のグループ会社での運営となることで、今後より一層安定したサービスを提供出来る物と考えております。引き続きのご利用等をお願い致します。

変更内容

  • 運営会社が株式会社スリークに変更になります
  • 領収書・請求書などは株式会社スリーク、もしくはSleeek Co.の表記となります
  • お客様自身に作業頂く事などは何も無く、継続してご利用を頂けます

キャンペーンの実施

今回の変更を記念して、新規ユーザ様向けにトライアル期間延長キャンペーンを実施致します。具体的な内容は下記の通りです。

  • Freeプラン、もしくは未登録の方について、従来2週間のトライアル期間だったところを、3ヶ月に延長致します
  • このキャンペーンは10月3日〜10月31日の間に会員登録、もしくはトライアル延長等のお問い合わせを頂いた方が対象となります
  • Sider(クラウド版)、Sider Enterprise(オンプレミス版)の両方がキャンペーン対象です

アカデミック版の提供開始

  • 大学の教職員や学生の方、高等専門学校の方向けにアカデミック版プランを提供します
  • 詳細についてはお問い合わせください
  • アカデミック版ではSider Enterpriseが無料で提供されます

株式会社スリークについて

スリーク社はAI によるソフトウェア開発マネジメントサービス「Sleeek」を提供しています。コードレビューに関する機能もSleeekは内包をしておりますが、Siderとの合流・統合により、Sleeek内でのコードレビュー関連機能についてはSiderが担う事となります。

また、Siderはソフトウェアエンジニアの方に対しコードレビューの自動化のみを提供しておりましたが、補完関係であるSleeekを通じてマネージャー向けの機能群などを提供することで、より開発チームの生産性の向上に寄与していきたいと考えております。

また、スリーク社及びフィックスターズ社のソフトウェア高速化技術、AI技術などを活用し、新しい機能、価値提供を進めて参ります。

スリーク社はアメリカのカリフォルニア州、アーバインにも拠点(現地法人: Sleeek, Inc.)を置いており、アメリカでのSiderの普及にも力を入れて参ります。

sleeek.io SleeekはGitHub、GitLab、JIRA、Slackなどの複数のデータソースから多角的な分析を行い、Slackに適宜通知(Slack Chat Bot)。ルーチンワークの削減やチームコミュニケーションの向上、プロジェクトの健全性などを保つことに貢献します。

今後のSiderについて

基本的には今までと大きくは変わりませんが、スリーク社やフィックスターズ社の技術の活用の他、著名な3つの大学との協同研究を開始、進めており、研究成果を活用し、コードレビューの自動化の精度・範囲の拡大や、ソフトウェア開発生産性の向上を進めて参ります。

今まで以上に大きな価値を皆様に提供出来るよう努めて参ります。 今後ともどうぞよろしくお願いいたします。

Yarnサポートのお知らせ

こんにちは、Sider開発チームの木庭です。

本日、事前アナウンスで予告していたとおり、Yarnサポートをリリースいたしました!

今回のリリースでは、Yarnサポートを含む npm 関連のいくつかの動作変更があります。かいつまんで列挙すると、次の通りです。

  • Yarnサポート(yarn.lock から必要なパッケージを自動インストールします)
  • 自動 npm パッケージインストール(特別な設定なしで package.json から解析に必要なパッケージをインストールします)

その他の詳細については、前述の事前アナウンスのブログ記事をご覧ください。

何かお気づきの点や疑問点がございましたら、お気軽にSiderの右下のチャットからお問い合わせください。

Yarnサポートおよびnpmパッケージのインストール動作変更のお知らせ

こんにちは、Sider開発チームの木庭です。

このたび、待望のYarnサポートの紹介と、npmパッケージをインストールする際の動作変更についてアナウンスをいたします。これらの変更はまだ適用されておらず、2019/8/20に皆様に提供する予定です。

今回の変更の影響を受けるのは、npmからインストール可能な以下の解析ツールとなります。

特に、ESLint、styelintを使用中で package.json がリポジトリ内に存在しないケースでは、解析が正しく動作しなくなる可能性があります。そのため、事前に本記事をご覧いただき、設定をご確認いただけますと幸いです。

以下、それぞれの変更点について、詳しく見ていきます。

Yarnサポート

かねてよりご要望の多かった、Yarnサポートを実施いたします。この変更をリリース後、Siderはリポジトリ内に yarn.lock ファイルを見つけると、npm install コマンドを実行する代わりに yarn install コマンドを実行します。

これにより、package.json に書かれてあるツールのバージョンではなく yarn.lock に書かれてあるバージョンで解析が実行されるため、より皆様の開発環境に近い状態で解析が実行されることになります。結果として、Siderでの解析失敗を減らすことにつながり、解析失敗時のデバッグがより容易になると私たちは考えています。

例えば、以下のような package.jsonyarn.lock ファイルがリポジトリ内にあるとします。

package.json:

{
  "devDependencies": {
    "eslint": "^5.10.0"
  }
}

yarn.lock:

eslint@^5.10.0:
  version "5.10.0"

Yarnサポート以前は、ESLint 5の最新バージョンである eslint@5.16.0 が解析に使用されます。一方、Yarnサポート以後は yarn.lock 内に記載してある eslint@5.10.0 が解析に使われることになります。

npm ci の利用

Yarnと同様に、Siderはリポジトリ内に package-lock.json ファイルを見つけると、npm install コマンドの代わりに npm ci コマンドを実行するようになります。この場合も、yarn.lock と同様 package-lock.json に記載されているバージョンがインストールされますので、より開発環境に近い動作が期待できます。

また、npm cinpm install よりも高速ですので、解析時間の短縮が期待できます(npm ci の詳細については、npmのドキュメントをご参照ください)。

ちなみに、まれなケースだとは思いますが、 yarn.lockpackage-lock.json が同時に存在する場合、エラーとなりますのでご注意ください(Yarnもまた、その場合は警告を表示します)。

npmパッケージインストールの動作変更

今回のリリースで、npmパッケージインストールのデフォルトの挙動が変更になります。具体的には、sider.yml で制御可能な npm_install オプションを省略した場合の挙動が変わります。

npm_install オプションの初期値:

  • 変更前: false
  • 変更後: true

この初期値の変更と、Yarnおよび npm ci のサポートをまとめると、変更後の動作は以下のステップとなります。

  1. package.json が存在するかチェックする。存在しない場合は、Sider提供のデフォルトバージョンを使用する。
  2. package.json かつ yarn.lock が存在する場合、yarn install を実行する。
  3. package.json かつ package-lock.json が存在する場合、npm ci を実行する。
  4. package.json が存在するが yarn.lockpackage-lock.json も存在しない場合、npm install を実行する。
  5. node_modules ディレクトリに対象となる解析ツールがインストールされたかチェックする。
  6. ツールがインストールされている場合、そのインストールされたバージョンを使用する。
  7. (何らかの理由で)ツールがインストールされてない場合、デフォルトバージョンを使用する。

ツールがインストールされなかった場合、Siderの解析結果ページとログページに警告が出力されます。それらの警告やログを参考に、package.json などの設定を見直してみてください。

この npm_install 省略時の挙動は、明示的に npm_install: true を指定した場合でも変わりません。

また、npm_install: false が指定された場合は、これまでと同様にインストールは実行されず、デフォルトバージョンが使用されます。インストールを回避したい場合は、明示的に npm_install: false を指定してください。

ツールバージョン制約の追加

npmやYarnによってインストールされるツールのバージョンについて、制約が追加されました。ここでの「制約」とは、サポートされるバージョン範囲のことです。これは、Siderの動作を保証するための措置です。この制約に違反すると、解析が失敗します。

最低バージョンはSider解析の実行統計データをもとに決めたので、ほとんどのケースでは問題にならないと思われます。しかし、万が一この制約の範囲外のバージョンを使用したいケースが発生した場合は、サポートまでお知らせください。

以下、各ツールのバージョン制約となります。

  • ESLint: 3.19.0 ≦ x < 7.0.0
  • TSLint: 5.0.0 ≦ x < 6.0.0
  • CoffeeLint: 1.16.0 ≦ x < 3.0.0
  • stylelint: 8.3.0 ≦ x < 11.0.0

いずれのツールも、最新バージョンは利用可能です。この制約については、変更リリース後にドキュメントに反映します。

ツール設定ファイルからの自動インストール機能の廃止

今回の変更で、各ツールの設定ファイルの内容から必要なプラグインを自動で検出してインストールする機能が廃止されます。対象のツールは以下の通りです。

  • ESLint
  • stylelint

例えば、ESLintの設定ファイル(例..eslintrc.json)に以下のように記述されていた場合、Siderは eslint-plugin-react を自動でインストールしようとします。

{
  "plugins": ["react"]
}

しかし、この機能は様々なフォーマットの設定ファイル(例えば、JSONやYAML、JavaScriptなど)を解析する必要があるために実装の難易度が高く、加えてユーザーの皆様の環境でこの挙動を再現することが難しいため、廃止とすることが決定しました。

もしこの機能を使用している場合は、以下の例のように package.json に依存プラグインを明示的に追加することで代用できます。詳細は、各プラグインのドキュメントをご確認ください。

{
  "devDependencies": {
    "eslint": "^5.15.1",
    "eslint-plugin-react": "^7.14.3"
  }
}

まとめ

変更内容は以上の通りです。今回の変更は、ユーザーの皆様の体験をより良いものすることを目的としており、できるだけ既存の解析を失敗させないように配慮しています。しかしながら、万が一リリース後に解析が失敗するようになった場合は、サポートまでフィードバックをいただけると幸いです。

再度繰り返しますが、リリース予定日は2019/8/20となります。

今回のアナウンスについて、フィードバックをいただけると非常に助かります。何かお気づきの点や疑問点がございましたら、お気軽にSiderの右下のチャットからお問い合わせください。

2019年7月度の解析ツール更新を行いました

Siderは毎月解析ツールのバージョンを見直しております。このたび、7月分のバージョンアップデートを行いましたのでお知らせいたします。

現在のバージョンについてはドキュメントもあわせてご確認ください。

なお、Ruby gems(RuboCop, Reekなど)およびnpmパッケージ(ESLint, TSLint, stylelint)に関しては、それぞれ任意のバージョンをSider上で動作させることが可能なため、上記のアップデートはデフォルトバージョンの更新になります。詳しくはドキュメントの各解析ツールの設定をご覧ください。

何かご不明点がございましたら、お気軽にSiderの右下のチャットからお問い合わせください。

2019年6月度の解析ツール更新を行いました

Siderは毎月解析ツールのバージョンを見直しております。このたび、6月分のバージョンアップデートを行いましたのでお知らせいたします。

現在のバージョンについてはドキュメントもあわせてご確認ください。

なお、Ruby gems(RuboCop, Reekなど)およびnpmパッケージ(ESLint, TSLint, stylelint)に関しては、それぞれ任意のバージョンをSider上で動作させることが可能なため、上記のアップデートはデフォルトバージョンの更新になります。詳しくはドキュメントの各解析ツールの設定をご覧ください。

何かご不明点がございましたら、お気軽にSiderの右下のチャットからお問い合わせください。