parcel-plugin-web-extension
This parcel plugin enables you to use a WebExtension manifest.json
as an entry point. For more information about manifest.json
, please refer to the MDN docs.
Installation
Install via npm:
npm install --save-dev parcel-plugin-web-extension
or via yarn:
yarn add -D parcel-plugin-web-extension
Usage
Quick Start
After installing this plugin, use manifest.json
as your entry point, like so:
parcel src/manifest.json
Your assets will now be resolved from the contents of your manifest file.
Assets resolved by this plugin:
background.scripts
background.page
content_scripts
browser_action.default_popup
browser_action.default_icon
page_action.default_popup
page_action.default_icon
icons
web_accessible_resources
chrome_url_overrides.bookmarks
chrome_url_overrides.newtab
chrome_url_overrides.history
Environments
This plugin will try to resolve and merge environment-specific manifest files in the format manifest.${NODE_ENV}.json
. For example, in development, you can run:
NODE_ENV=development parcel src/manifest.json
and the plugin will also look for manifest.development.json
and merge those keys into the base manifest.
Manifest prefix
Converts and removes keys with a prefix to the key without prefix. For example, you can run:
VENDOR=chrome parcel src/manifest.json
Input:
{
"options_ui": {
"firefox|browser_style": true,
"chrome|chrome_style": true,
"open_in_tab": false
}
}
Result:
{
"options_ui": {
"chrome_style": true,
"open_in_tab": false
}
}
Licence
Apache 2.0