マニフェストの上書き
Plasmoフレームワークは、生成された拡張機能のマニフェストを上書きするために、package.json
にmanifest
フィールドを追加します。主な使用例は、Plasmoフレームワークがまだネイティブにサポートしていない機能を有効にすることです。
例えば、PlasmoフレームワークがactiveTab
権限が必要であることを認識していない場合があります。その場合、プロジェクトのpackage.json
を次のように変更する必要があります。
package.json
...
"manifest": {
"permissions": [
"activeTab"
]
}
Plasmoはpackage.json
から以下のフィールドを生成された拡張機能のマニフェストに渡します。
packageJson.version
->manifest.version
packageJson.displayName
->manifest.name
packageJson.description
->manifest.description
packageJson.author
->manifest.author
packageJson.homepage
->manifest.homepage_url
環境変数の使用
マニフェストの上書き内で環境変数を使用できます。例えば、with-storageの例 (opens in a new tab)では:
package.json
"manifest": {
"browser_specific_settings": {
"gecko": {
"id": "$FIREFOX_EXT_ID"
}
}
}
環境変数が存在しない場合、そのフィールドはマニフェストから完全に削除されます。これにより、ターゲット固有の環境変数を指定することで、複数のブラウザターゲットで動作できます。
ロケールテンプレート文字列の使用
マニフェストの上書きでロケールテンプレート文字列を使用できます。
package.json
"manifest": {
"name": "__MSG_extensionName__"
}