mcpField
F
fix-dependabot

fix-dependabot

github.com/remotion-dev開発68.6k998 回インストール今日更新
リポジトリ

fix-dependabot について

Bun のモノレポで Dependabot のプルリクエストを修正するリポジトリ用スキルです。ほかのパッケージの依存バージョンとロックファイルを更新して変更を確認し、依存関係の競合や破壊的変更を伴う可能性のあるメジャーアップグレードにも対処します。

主な機能

  1. 01Dependabot PR の詳細確認
  2. 02モノレポ内の該当パッケージのバージョン更新
  3. 03`bun install` による `bun.lock` の再生成
  4. 04コミット前の変更ファイル確認
  5. 05コミット、プッシュ、元のブランチへの復帰

活用シーン

  1. 01Dependabot の更新をほかのパッケージにも反映
  2. 02依存更新後に古いロックファイルを再生成
  3. 03メジャーアップグレードや依存競合の検討

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/remotion-dev/remotion --skill fix-dependabot

インストール後、Claude Code で/fix-dependabotを入力して読み込まれたか確認します。

詳細

Dependabot の PR は 1 つの package.json だけを更新し、bun install は実行しないため、bun.lock ファイルが古くなり、モノレポ内の他のパッケージも古いバージョンを参照したままになります。このスキルは両方の問題を解決します。

手順

  1. PR の情報を取得する — gh pr view <number> --json headRefName,files,title,body を使用して、ブランチ名、更新された依存関係、更新前後のバージョンを確認します。

  2. ブランチをチェックアウトする:

git fetch origin <branch>
git checkout <branch>
  1. モノレポ内のすべての該当箇所を更新する — Dependabot は 1 つのパッケージしか更新しません。同じ依存関係を古いバージョンで参照している他の package.json ファイルをすべて検索し、更新します:
rg '"<dependency>": "[~^]?<old-version>"' --glob '**/package.json'

該当するすべての箇所を新しいバージョンに更新します。各パッケージで使われているプレフィックスの形式(^、~、または固定バージョン)を維持してください。

  1. リポジトリのルートで bun install を実行し、bun.lock を再生成します。

  2. 確認する — git status を実行し、変更されたのが bun.lock と想定される package.json ファイルだけであることを確認します。想定外のファイルが変更されている場合は、先に原因を調査してください。

  3. コミットしてプッシュする:

git add -u
git commit -m "Update <dependency> to <version> across all monorepo packages"
git push
  1. 元に戻す — 以前のブランチ(通常は main)に戻ります:
git checkout main

注意事項

  • Dependabot は「自分で変更しない限り、この PR の競合は Dependabot が解決します」としていますが、ロックファイルと関連パッケージの更新は想定されたワークフローであり、問題は発生しません。
  • バージョンの更新がメジャーバージョン(例:vite 5 → 6)の場合は、アップグレードが適切か、無視すべきかを検討してください。破壊的変更を確認してください。
  • bun install が失敗する場合、依存関係のバージョンが他のパッケージと競合している可能性があります。その場合は PR をクローズし、理由をコメントしてください。

コメント