TL;DR

依存関係の更新を自動化するオープンソースのツール。新しいバージョンを見つけると、依存パッケージとロックファイルを更新するプルリクエストを作る。複数のプラットフォームと言語に対応している。

なぜ必要か

依存パッケージを手で追いかけて更新するのは手間がかかり、放っておくと古いバージョンが残り続ける。Renovate は更新の検出からプルリクエストの作成までを自動で行うので、開発者はレビューとマージに集中できる。

仕組み

リポジトリの中のパッケージファイルを自動で見つけて解析し、更新があればプルリクエストを作る。モノレポの中のファイルも手作業の設定なしで検出する。主な機能は次のとおり。

  • スケジュール: プルリクエストを作る時間帯を決め、通知が増えすぎるのを防ぐ
  • 設定ファイル: 振る舞いを設定ファイルで細かく変えられる。設定は ESLint のようにプリセットとして共有できる
  • 置き換えのプルリクエスト: 非推奨になった依存を、コミュニティが推奨する代替へ移す提案をする

対応するプラットフォームは GitHub、GitLab、Bitbucket、Azure DevOps、Gitea、Forgejo などである。npm パッケージやコンテナイメージとして自分で動かすこともでき、GitHub では Mend がホストする Renovate のアプリも使える。ライセンスは AGPL-3.0 である。

出典