このページ内容は2022年9月9日以降、再調査・再検証してません。実際に扱う際は最新の情報にアクセスしてください。

link
Plasmo

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、バンドルしないと審査に通りません)。

1
import "https://www.googletagmanager.com/gtag/js?id=XXXXXX"

またデフォルトではReact + TypeScriptですが、公式のテンプレートplasmo_templateを参考に作れば、SvelteやVueを使って書くこともでき、TailwindCSSやRedux, Firebase認証などの導入も可能です。


自己紹介
はじめまして Pilefortです。
東京でエソジニアをしてます。
興味のあるスタックは、JavaScript (React, Vue), TypeScript, Rust, WebAssembly, AWS, Pulumi, Serverless Frameworkです。
このブログでは、普段の業務や趣味で気になったことをまとめたり、フロントやAWS, GitHubやTwitterで見かけた面白い記事やニュースをまとめるためのものです。少しでも何かの役に立てば幸いです。
サイトマップ
Notes
業務や趣味での気づき・メモ
Snippets
記事にするまでもないけど、便利なコマンドや豆知識
Works
同人誌一覧