Misocaフロントエンドの歴史と未来の記事から早くも2年が経ち、Misocaフロントエンドは地道に改善を続けています。依存ライブラリのアップデートが日を増して難しくなる当時MisocaではIE11サポートをしていました。そのため一つの依存ライブラリが原因でwebpackのメジャーバージョンが4から上げられなくなりました。VueコードのCompositionAPI書き換え当時から新しく追加するコンポーネントについてはCompositionAPIで記述していたのですが、ClassAPIで書かれたコンポーネントも数多く存在し、100個のVueコンポーネントがClassAPIで記述されていました。Vue3マイグレーションを見据えClassAPIでのコンポーネント追加を取りやめ、既にあるコンポーネントを地道に書き換え始めました。Volarプラグインの導入MisocaフロントエンドではTypescriptとVue.jsを使っています。VolarプラグインはVueテンプレートも含めた型チェックのため導入しました。以前はveturを使っていましたが、より高性能でとても重宝しました。同時に、やろうと思えばいつでもVue3へのマイグレーションへの準備が整ったとも言えます。ここから本格的にマイグレーションに向けた調査・計画を考え始めました。当時はjQueryの依存度も高くDOMをゴリゴリ書き換えるコードが数多く存在しました。そのようなDOMゴリゴリ実装をVueコンポーネントに置換する活動を始め、より統一されたコードベースを目指し始めました。大Bump計画発足Vue化推進活動も進めながら、ずっとIE11サポートのおかげで進まない依存ライブラリ更新に明るいニュースが飛び込んできました!IE11サポートの廃止がグループ全体の方針に決まったのです。2022年6月のことでした。Changesの内容が根本的で細かいこともあり、多人数での作業は理解や分業に対するコストが高いと判断しました。基本一人で調査・改修を担当し、その分コードレビューと動作確認に人数と時間をかけて進めました。対応することで、大きく変更することへのリスクを減らせたのも良かったです。Vue3対応リリース。障害なくマイグレーション達成!事前に確認できることはすべて確認しました!そしてついにリリースを迎えました。rails-ujs脱却MisocaはフレームワークとしてRailsを使用しており、Railsが生成したHTMLにVueコンポーネントをマウントしています。一部画面ではRailsが提供する”控えめな”JS実装で十分だったのでrails-ujsから積極的に置き換える動きはなかったです。Rails7からrails-ujsは非推奨となり別実装であるTurboが推奨されました。Rails7へのバージョンアップも行う必要があるので、rails-ujsの代替実装を追加しrails-ujsへの依存を切ることができました。大きくレガシー改善に向けて取り組めた数年でありましたが、まだサービスの主要導線に取り除くのが困難なレガシーが残っています。完全なjQuery廃止のためにも現在はその箇所の脱レガシーを進めています。最近ではビルドやテストのCI実行時間が大きくなり、その改善も急務となっています。レガシーを残さないよう改善を回し続ける、今後もやれることはいっぱいあります。