少し遅くなったけどバラの冬剪定をした。
これくらい葉が残ってわしゃわしゃしているのを
くらいバッサリ切った。バラというか樹木系の花は放っておいたら大きくなって花が咲くというものではなくて、新芽をしっかり出して花を咲かせるというのが重要なので、バシバシ切ってしまった。春に向けてちゃんと咲いてくれ!
https://github.com/ruby/rubygems/issues/6583 という issue があり、yarn why みたいに bundle why をしたいという要望を満たす bundler-why-plugin というのを作った。というより copilot に作らせた。
https://github.com/jaredbeck/bundler-why というのはあるけど、これは OSS ではないという指摘があり、確かになあという感じだったので、自分で適当に作ったのがこれ。
https://github.com/hsbt/bundler-why-plugin
使い方などは README.md 以上のものはないんだけど
$ bundle plugin install bundler-why-plugin
として
$ bundle why gemname
と実行すると
❯ bundle why ffi
ffi (1.17.3)
Directly required by:
├── libddwaf (1.30.0.0.0) [~> 1.0]
│ └── datadog (2.26.0) [~> 1.30.0.0.0]
└── rb-inotify (0.11.1) [~> 1.0]
└── listen (3.10.0) [~> 0.9, >= 0.9.10]
という結果が得られます。bundle install などを実行して、ffi ってどこから使ってんの?というのがこれを見れば、datadog と listen の依存であるというのが瞬時にわかるので、この2つの gem がもし不要なら消してしまえば ffi も不要ということがわかる、というものです。
人や用途によっては便利かもしれないのでご活用ください。yarn why のユースケースをちゃんとわかってないので、こういう情報も欲しいとかあれば教えてください。人気があるのであれば、bundler 本体にも組み込むのを検討します。
dependabotから知らないgemのアップグレードPRがきたときに「これどの依存で使われてるの?」となってGemfile.lockを眺めることがあるのでbundle whyべんりだと思います!