GitHubでunity バージョンを教えてくれるChrome拡張を作りたい
GitHubでUnityプロジェクトを開いたときに、そのUnityプロジェクトのUnityバージョンを教えてくれるChrome拡張が欲しいと思った
Unityプロジェクトでは通常/ProjectSettings/ProjectVersion.txtというページの中で
document.getElementById("LC1")
すると出てくる、つまり1行目のm_EditorVersion属性に書かれてる
もしくはhttps://raw.githubusercontent.com/<ユーザ名>/<プロジェクト名>/<ブランチ>/ProjectSettings/ProjectVersion.txt
で名前のテキストを取得できる
Chrome拡張作るのに参考になりそうなサイトとか
Qiitaで一番最初に出てくる記事
OnClickが乗ってる記事
manaba integration
chrome 拡張のURLを取得できそうなAPI
仕様を考える
- UnityプロジェクトをGithubで開く
- 拡張機能をクリックする
- バージョン情報が見つかればpopup.htmlで表示、そうでなければcannot detect unity versionなどを表示
ということは必要な処理は
- 現在のパスからバージョン情報へのアクセス
- バージョン情報のパース
- popup.htmlによる表示部分
Viteではpublicという特別なディレクトリにファイルを配置することで
ビルド後にハッシュ化しないファイルとして扱える
本来はrobot.txt
などを入れるけど、今回はmanifest.json
で使った
これによってdistにmanifest.jsonが展開される
XDで画面のレイアウトとか配色を考えてみた
色々いじってみて、バージョン情報の検知ロジックさえできれば完成くらいまで来たな
chrome拡張をTSで開発するのにchromeオブジェクトに型がないのがめんどくさそうと思っていたけど
型定義があったんでよかった
chrome 拡張のAPIからタブの情報を取得するには、こちらが参考になった
GitHubのURLがめんどくさくてなえてる
まずデフォルトブランチでルートディレクトリの場合は
github.com/<username>/<repo>
になる、つまりデフォルトブランチの名前がわからない
そのほかの場合、
デフォルトブランチでルート以外のパスの場合、
github.com/<username>/<repo>/tree/<branch>/<path>
のような形になる
手元でいい感じに動くようになりました🎉
githubも公開しました