こんにちは、フロントエンドチームの @syo_igarashi です。
今週のフロントエンド定例の内容を記載します。
フロントエンド定例について、以前の記事(ランサーズのフロントエンドチームが取り組んでいること)でお伝えしたのですが、毎週金曜日に開催しており、実際の業務で取り組んでいることや気になった技術情報等をシェアしあう会になっています。
以下、今週の内容です。
Dependabotの対応について展開
Dependabotとは?と言ったことは公式ページを参照すること
https://docs.github.com/ja/code-security/dependabot/working-with-dependabot
社内でどういった感じに対応していくのかというのを記載します
CI通っているPRは片っ端からマージしていく
フロントエンドのCIチェックとしてビルドされたファイルがmasterと差分がないかというチェックをするようになっているのでCLIツール上のバージョン更新はしやすくなっています。
弊社ではビルドファイルはGit管理に置いています。
の対応よりフロントエンドのビルドはCIに含めない方がデプロイ速度的に良かったり、NodeJSの更新の際もビルドファイルの差分がGitHubで検知しやすかったからなどの名残があります。
CI上では
(cd ./frontend/xxxx && yarn && yarn build) git diff --exit-code echo $?
というコマンド実行をさせることでビルドファイルの差分がないかの検知をさせるようにしており、Dependabotのライブラリ更新PRに対してもビルドファイルの変更がなければ本番にも影響ないことの確証を持ってリリースできるようになっています。
自動リリースにしたいとこもありますが槍持ちの文化が若干そうはさせてくれないというとこがあるので分離させるかフローを変えるかでどうにかしたいどこではあります。
ライブラリ側でセキュリティ対応されていないものはDependabot alertsに残り続けるので別ライブラリ採用検討も考える必要がありそう
対応されているライブラリについてはライブラリのバージョンアップという形でDependabotがPRを作成してくれますが対応されない限りDependabot alertsにセキュリティリスクとして残り続けるので別ライブラリを検討しないとなと思いました。
pnpmは対象外
https://github.com/dependabot/dependabot-core/issues/1736
現状はサポートされていないのでもしちゃんと見るならRenovateなどの別のSaSSを検討するか
前回の定例内容はこちらから確認可能ですのでご興味いただければ下記のリンクから閲覧いただければと思います。