Framework
Customization
Manifest Override

マニフェストの上書き

Plasmoフレームワークは、生成された拡張機能のマニフェストを上書きするために、package.jsonmanifestフィールドを追加します。主な使用例は、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__"
}