6年前に作って放置してたChrome拡張機能をアップデートする


DE-TEIUです。

昔、自作のChrome拡張機能をいくつか公開していたんですが、「おい、バージョンアップしろよ」的な警告をずっとスルーしていました。 (利用者はいないしクソアプリなので別に良いっちゃ良いんですが)


気が向いたので、試しにどれか最新のChrome拡張機能の仕様に合わせてバージョンアップしてみようかと思います。

対象

いくつかあるんですが、今回の標的はこいつにします。

サイトの表示を見たところ、しっかり警告出てますね。

chrome拡張機能

ところでこれ、今入れても動くんですかね?やってみよう。







ワイパー

あ、まだ動きはするのね。

こういう、画面にワイパーを表示するだけのChrome拡張機能です。

バージョンアップしよう

公式ドキュメントはこれか。

拡張機能のソースコードはこれ

…これぐらいなら、Claude Codeに丸投げしたらガッとやってくれたりしないかな?と思って雑にプロンプトを投げてみた。

これはGoogleChrome拡張機能のソースコードです。
6年前に作ったものなので、おそらく最新のChromeの仕様にあわせていくつか改修が必要になるはずです。
改修方針を決めて、対応してください。

で、諸々の調査やら対応やらをやってもらい、最終的にこういう改修になった。

  • Manifest V3対応
    • バージョンを 1.1 → 2.0 に更新
    • page_action → action に変更(V3では統合)
    • background.scripts → background.service_worker に変更
    • web_accessible_resources を配列からオブジェクト形式に変更
  • 廃止API対応
    • chrome.tabs.getSelected → chrome.tabs.query
    • chrome.extension.getURL → chrome.runtime.getURL
    • contextMenusのonclickプロパティ → chrome.contextMenus.onClickedリスナー
  • Service Worker対応
    • コールバック形式 → async/await形式
    • Service Worker再起動時のメニュー再生成対応

動作も問題なし。これでストアに出すだけ出してみよう。




結論としては、「Chromeの拡張機能のバージョンアップはClaude Codeでもできるぞ」です。おわり