質問: バージョンが1.xのjQueryをバージョン3.5.1へアップグレードする作業を業務で行うのですが、 作業対象ファイルやコードが多く、効率が良い方法や良い落とし所がありましたら教えていただきたいと思い、 投稿いたしました。 作業対象のサイトには、jQuery本体ファイル(1.x)が約100ファイル、1.x用のjQueryプラグインや、JSライブラリが数百ファイルあります。 しかもそれらプラグインやJSライブラリのほとんどはjQuery3.xに対応しておりません。 ですので、それらをjQuery3.5.1に対応させるには、各コードを書き換えるしか方法がないと考えているのですが、 ファイル数とコード量が多いので、工数がかかると考えています。 そこで、効率のよい対応方法がありましたら教えていただけませんでしょうか? なお、jQuery Migrateプラグインで古いメソッドやプロパティを復元させて対応することも考えたのですが、 jQuery3.xに対応したjQuery Migrate3.xは、jQuery1.xで使用されているメソッドやプロパティのうち、復元してくれないものも多く、 jQuery Migrateプラグインだけではかなりの数の古いコードが残ってしまうので、そのプラグインの使用は諦めました。
回答: 私のやり方ですが、 まずjQueryのマイグレーションには2種類あります。 1.X系を1系の最新にするためのマイグレーション 1.12もしくは2.2系以上を3.Xにしてくれるマイグレーション 2段階で マイグレーションの導入→アプリの検証→修正箇所の洗い出し→修正→テスト→マイグレーションの削除 を実施します。 またアプリの検証&修正箇所の洗い出しについては網羅的なテストが必要なので、その場合には ChromeのJavascript及びCSSのカバレッジを計測してくれる開発者ツールを利用します。 これで網羅的な検証の手助けになるでしょう。 > > プラグインやJSライブラリのほとんどはjQuery3.xに対応しておりません > > それらをjQuery3.5.1に対応させるには、各コードを書き換えるしか方法がない > > > 自前で修正するという選択肢を選んでいるようですが、プラグインやJSライブラリをいじってしまうと、今後の運用も自分たちで行う必要が出てきます。場合によってはUIの変更や要件の修正も必要になってくるでしょう。このタイミングでプラグインの刷新やJSライブラリのアップデートを考えて、改めてトータルコストを考慮したほうが良いと思います。 私が今まで経験した中で、古いライブラリを残すという選択肢はほとんど取りませんでした。 なかなか愚直な方法で、コストも非常にかかりますが、私の中でのベターなやり方かなと思っています。