Manifest 設定
manifest はブラウザ拡張機能のマニフェスト(Manifest)を宣言するために使用されます。つまり、最終出力ディレクトリの manifest.json の内容です。
3つの設定方法をサポートします:
- インラインオブジェクト:設定に直接 manifest の内容を記述
- ブラウザ別に分割:Chrome と Firefox の manifest を別々に設定
- ファイルパス:manifest ファイルの位置を指定
完全に省略することもでき、フレームワークはソースコードディレクトリから自動的に読み込みます。
型とデフォルトの動作
- 型:
ManifestConfig | ManifestPathConfig | undefined - デフォルトの動作:設定しない場合、フレームワークは
appDirまたはそのサブディレクトリmanifest/から自動的に検索します:manifest.json— 基本設定(単一ブラウザまたは共通部分)manifest.chromium.json— Chrome 上書き設定manifest.firefox.json— Firefox 上書き設定
ビルド時に、フレームワークは CLI で指定されたターゲットブラウザ(-b chrome|firefox)に基づいてマージし、outputRoot/outDir/manifest.json に出力します。
設定方法
1. 単一オブジェクト(単一ブラウザまたは共通設定)
すべてのフィールドを1つのオブジェクトに記述し、フレームワークは自動的にエントリーパスを注入します。
フレームワークはエントリー設定に基づいてパスを自動的に生成・注入します:
action.default_popup→popup/index.htmlbackground.service_worker→background/index.jscontent_scripts→content/index.js
エントリーパス(例:
popup/index.html)はフレームワークが entry と outDir から自動的に計算します。manifest のフィールドの意味を正しく保つだけです。
2. ブラウザ別に分割(chromium / firefox)
Chrome と Firefox で異なる manifest 設定が必要な場合:
ビルド時に CLI パラメータに基づいて対応するブランチを選択します:
addfox dev -b chrome→chromiumブランチを使用addfox dev -b firefox→firefoxブランチを使用
3. パス設定(appDir からの相対パス)
manifest を独立した JSON ファイルに保存:
ファイルパスは appDir からの相対パスです。
4. 完全に省略(自動読み込み)
manifest 設定を書かない場合、フレームワークは以下の順序で検索します:
appDir/manifest.jsonappDir/manifest/manifest.jsonappDir/manifest/manifest.chromium.jsonappDir/manifest/manifest.firefox.json
推奨されるファイル構造:

