Overriding the Manifest
The Plasmo Framework extends the package.json
with a manifest
field to override the generated extension manifest. The primary use case is to enable features that the Plasmo framework does not yet natively support.
For instance, the Plasmo Framework might not understand that you need to have an activeTab
permission. You'll need to modify your project's package.json
like so:
...
"manifest": {
"permissions": [
"activeTab"
]
}
Plasmo will pass over the following fields from the package.json
to the generated extension manifest:
packageJson.version
->manifest.version
packageJson.displayName
->manifest.name
packageJson.description
->manifest.description
packageJson.author
->manifest.author
packageJson.homepage
->manifest.homepage_url
Using environment variables
You can use environment variables inside the manifest overrides. For instance in the with-storage example (opens in a new tab):
"manifest": {
"browser_specific_settings": {
"gecko": {
"id": "$FIREFOX_EXT_ID"
}
}
}
If the environment variable could not be found, the field will be removed completely from the manifest. This enables working with multiple browser targets by specifying target-specific environment variables.
Using locale template string
You can use locale template strings in the manifest overrides:
"manifest": {
"name": "__MSG_extensionName__"
}