ci: Dependabot のバージョン更新を production 依存だけに絞る - #77
Merged
Conversation
開発ツールまで対象にしていたため、1 パッケージの peer 不整合でグループ PR 全体が止まった (eslint-plugin-react-refresh 0.5 が eslint 9 以上を要求し、eslint 8 系の本リポジトリでは npm ci が ERESOLVE で失敗。30 件をまとめた PR がそのまま BLOCKED になった)。 0.x のマイナーは実質破壊的変更だが Dependabot は minor として扱うため、「メジャーを除外」 だけでは防げない。配布物に影響しない開発ツールを対象から外すのが確実で、開発ツールの 脆弱性は security updates 側(設定ファイルとは独立に動く機能)で拾われる。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
グループ PR(#76「bump the patch-and-minor group with 30 updates」)が CI で BLOCKED になっていました。
eslint-plugin-react-refreshの 0.4 → 0.5 は Dependabot 上は minor 扱いですが、0.x のマイナーは実質破壊的変更で、peer が eslint 9 以上に変わっています。dependabot.ymlでメジャーを除外していても防げません。そして 30 件を 1 本にまとめているため、この 1 件で全部が止まります。変更
allow: [{ dependency-type: production }]を追加し、配布物に入る依存だけを対象にします。dependabot.ymlとは独立に動く機能)で引き続き拾われますあわせて
#76はこの設定では作り直されるため閉じます。なお eslint 8 → 9(flat config 移行)は別途計画したい作業です。移行すれば
eslint-plugin-react-refreshも追随できます。