このページ内容は2022年9月9日以降、再調査・再検証してません。実際に扱う際は最新の情報にアクセスしてください。
Plasmoはブラウザ拡張を開発・リリースするためのフレームワークですplasmo。現状、対応しているものはChrome拡張 (Manifest V3) とFirefox (Manifest V2) で、1つのコードからそれらのブラウザ拡張を開発できます。ちなみに、デフォルトで使用できる言語はReact + TypeScriptになってます。
従来の拡張機能の開発では難しかったホットリロードや.envファイルのサポート (ビルド時に埋め込む環境変数などを指定できる) がデフォルトでできますplasmo_env_support。
また、リモートコードのバンドルを自動でしてくれるため、以下のようなコードを書いたとしてもビルド時に生成されるファイルでは、リモートコードが取り込まれた形でバンドルされますplasmo_remote_code_support (Chrome拡張 Manifest V3ではCDNなどのリモートコードの利用が禁止されているためv3_remote_code、バンドルしないと審査に通りません)。
1import "https://www.googletagmanager.com/gtag/js?id=XXXXXX"
またデフォルトではReact + TypeScriptですが、公式のテンプレートplasmo_templateを参考に作れば、SvelteやVueを使って書くこともでき、TailwindCSSやRedux, Firebase認証などの導入も可能です。