Awesome WebExtensions
WebExtensionsを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
始める
- Chrome Extensions documentation - オリジナルの Chrome 拡張機能モデルに関するドキュメント。
- Mozilla’s WebExtensions documentation - WebExtensions API の MDN wiki。
- Browser support for WebExtensions - Chrome、Edge、Firefox、Opera の互換性表。
- Safari Extensions documentation - Safari 拡張機能構築に関する開発者ドキュメント。技術的には WebExtensions ではなく、API は完全に異なります。
- Opera API support - Opera の詳細な WebExtensions サポート。
- Browser Extension Standard - Mozilla、Opera、Microsoft がサポートする API の標準。
コミュニティ
- Google Groups - 議論。
- Mozilla Discourse - 議論。
#addons:mozilla.org- Mozilla の Matrix チャンネル。google-chrome-extensiontag on Stack Overflow - 関連する質問。firefox-addon-webextensionstag on Stack Overflow - 関連する質問。microsoft-edge-extensiontag on Stack Overflow - 関連する質問。
ライブラリーとフレームワーク
拡張機能の一部となるためのコード。
- webext-options-sync - 拡張機能のオプション管理と自動保存を支援します。
- webext-storage-cache - 有効期限付きの Map 風 promise キャッシュストレージ。
- webext-dynamic-content-scripts - カスタムドメインで
content_scriptsを自動注入します。 - mozilla/webextension-polyfill -
browser名前空間の標準化された promise ベース API をサポートする polyfill。 - @types/firefox-webext-browser -
browser名前空間向け TypeScript 型を提供します。 - redux-webext - WebExtension の状態管理に Redux を使用します。
- ExtPay - サーバーバックエンドを実行することなく、拡張機能で安全な支払いを受け取ります。
- inject-react-anywhere - 便利な API とスタイル分離により、サードパーティーサイトへ React コンポーネントを注入します。
- More…
ツール
拡張機能管理を支援するアプリ。
- Chrome Webstore Upload - cli 経由(または GitHub Actions 上で自動)で Chrome Web Store へ拡張機能をアップロードします。
- mozilla/web-ext - WebExtensions のビルド、実行、テストを支援するコマンドラインツール。
- chromepet - 新しいバージョンの公開時に通知を受け取ります。
- chrome-ext-downloader - Chrome Web Store の任意の拡張機能をダウンロードし、その実装を確認します。
- chrome-store-api - Chrome Web Store API ラッパー。
- Chrome extension source viewer - ストア上で拡張機能のソースコードを直接表示する WebExtension。
- @wext/shipit - Chrome Web Store、Mozilla Addons、Opera Addons への自動公開ツール。
- wext-manifest-loader - 特定ブラウザーにのみ表示する
manifest.jsonプロパティを指定できる Webpack loader。 - webextension-manifest-loader - ブラウザーに合わせた manifest.json を読み込む Webpack loader。インポート可能なすべてのプロパティもインポートし、唯一の webpack エントリーポイントとして ‘manifest.json’ を使えます。
- webpack-extension-reloader - 開発中にブラウザー拡張機能を自動リロードする Webpack プラグイン。
- webpack-target-webextension - Webpack による WebExtensions ビルドにコード分割サポートを追加します。
- Extension.js - プラグアンドプレイ、ゼロ設定、クロスブラウザーの拡張機能開発ツール。
テスト
- sinon-chrome - テスト用に Chrome Extensions API をモックします。
- addons-linter - Mozilla のガイドラインに対して拡張機能を検証します。
- webextensions-jsdom - manifest.json に基づき JSDOM で popup、sidebar、background を読み込みます。
- webextensions-api-fake - インメモリーの WebExtensions API Fake 実装(TypeScript 型を含む)。
- webextensions-api-mock - sinon stub としての WebExtensions API(TypeScript 型を含む)。
- webextensions-schema - WebExtensions Schema JSON ファイルをプログラムから利用します。
ボイラープレート
- browser-extension-template - parcel、オプションハンドラー、自動公開を備えた必要最小限のボイラープレート。
- create-webextension - Yarn WebExtension ジェネレーター。
- generator-web-extension - クロスブラウザーのウェブ拡張機能開発を始めるために必要なすべてを作成する WebExtension ジェネレーター。
- WXT - ウェブ拡張機能を開発する次世代フレームワーク。
サンプル拡張機能
これらはシンプルでモダンな WebExtensions リポジトリであり、GitHub Actions 経由の自動デプロイメントを含め、各部品をどこに置けばよいか把握する助けになります。
- npmhub
- Hide Files on GitHub
- mdn/webextension-examples - MDN ドキュメントのためにキュレートされた、さまざまなサンプル拡張機能。