happiness (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) happiness

【chrome拡張】chrome-extension-kick-startの選択肢迷う問題を解消する

概要

yo chrome-extension-kick-start

# TypeScript版
yo chrome-extension-kick-start-typescript

上記コマンドを打つと、爆速でchrome拡張機能の初期設定ができる素晴らしいライブラリ。

GitHub - HaNdTriX/generator-chrome-extension-kickstart: Scaffold out a Web Extension http://yeoman.io

このコマンドを打つと、以下のような選択肢が出てきて、対話形式で初期設定ができる。

f:id:masanolinks:20201121224248p:plain

選択肢で毎回迷いが生じるので、色々明確にした。

わからなくなるポイント

質問は、全部で8つあり、そのうち後半4つが機能面の初期設定をする質問になる。 - Would you like to use UI Action? - Would you like to override a chrome page? - Would you like more UI Features? - Would you like to use permissions? - ( Would you like to install promo images for the Chrome Web Store? 機能には関係ない最後の質問) それぞれ改めて訳し、不明瞭な点を明確にしていく。

Would you like to use UI Action?

訳: UIアクションを使いたい?

f:id:masanolinks:20201121220551p:plain 上のようなボタン(UI)を使いたいか?という質問である。 そして、そのUI(ボタン)をどういったURLの条件で出すかを選ぶ。

  • No(いいえ)
  • Browser(ブラウザアクション): ブラウザで一貫して動作させたい場合
  • Page(ページアクション): ある特定のページで動作させたい場合

下記にあるように、Pageを選択した場合は、指定したURLのみボタンUIが出現する。

If you want to create an icon that isn't always visible, use a page action instead of a browser action.

引用元: 公式ページのブラウザアクションについて

Would you like to override a chrome page?

chromeの元々のページ上書きする? これは特に説明しなくてもわかった。

  • No
  • Bookmarks Page
  • History Page
  • Newtab Page

Would you like more UI Features?

他のUI機能使いたい? これも解説は不要そう。

  • Options Page
  • Devtools Page
  • Content Scripts
  • Omnibox

Would you like to use permissions?

どの権限が必要?

これは結構多くて迷う。多分この量のいつも圧倒されてしまっていたのだと、改めて気がついた。

(アルファベット順, 全22種)

  • ◯ Bookmarks
  • ◯ BrowsingData: ?具体的には?
  • ◯ ClipboardRead
  • ◯ ClipboardWrite
  • ◯ ContentSettings: ?
  • ◯ ContextMenus
  • ◯ Cookies
  • ◯ Commands: ?
  • ◯ Debugger: ?
  • ◯ DeclarativeContent: ?
  • History
  • ◯ Input: ?
  • ◯ Management: ?
  • ◯ Notifications: ?
  • ◯ PageCapture
  • ◯ Proxy: ?
  • ◯ Tabs
  • ◯ TabCapture: ?
  • ◯ TopSites: ?
  • ◯ WebNavigation: ?
  • ◯ WebRequest: ?
  • ◯ WebRequestBlocking: ?

? が自分がおぼろげにしかわかっていないやつ。

半分以上わかっていなかった。

「作りたい機能に必要かどうか」を判定できないから、選択に躊躇していたわけですね。

TODO: 上記の一覧と下記のリファレンスをざっくり把握しておく。?の右側に書くなりしておく

総論

こうして並べると、すべて公式APIリファレンスに書いてある。

無限にあるように見えて、焦ってしまっていたようだ。

対応するのリファレンスの場所と登場人物がどのくらいの量か把握ができれば問題なさそう。

Develop Extensions - Google Chrome

f:id:masanolinks:20201121222542p:plain