UNPKG

wemf

Version:

Format manifest.json to use on WebExtension from Chrome Extension

217 lines (212 loc) 4.91 kB
// https://developer.chrome.com/extensions/manifest const chrome = { required: [ ['manifest_version', {value: 2}], 'name', 'version' ], optional: [ 'author', 'automation', ['background', {recommend: {persistent: false}}], 'background_page', 'chrome_settings_overrides', 'chrome_ui_overrides', 'chrome_url_overrides', ['commands', {unsupportProps: ['_execute_sidebar_action']}], 'content_capabilities', 'content_scripts', 'content_security_policy', 'converted_from_user_script', 'current_locale', 'devtools_page', 'event_rules', 'externally_connectable', 'file_browser_handlers', 'file_system_provider_capabilities', 'homepage_url', 'import', 'incognito', 'input_components', 'key', 'minimum_chrome_version', 'nacl_modules', 'oauth2', 'offline_enabled', 'omnibox', 'optional_permissions', 'options_page', 'options_ui', ['permissions', { supportValues: [ 'activeTab', 'alarms', 'background', 'bookmarks', 'browsingData', 'certificateProvider', 'clipboardRead', 'clipboardWrite', 'contentSettings', 'contextMenus', 'cookies', 'debugger', 'declarativeContent', 'declarativeWebRequest', 'desktopCapture', 'displaySource', 'dns', 'documentScan', 'downloads', 'enterprise.deviceAttributes', 'enterprise.platformKeys', 'experimental', 'fileBrowserHandler', 'fileSystemProvider', 'fontSettings', 'gcm', 'geolocation', 'history', 'identity', 'idle', 'idltest', 'management', 'nativeMessaging', 'networking.config', 'notifications', 'pageCapture', 'platformKeys', 'power', 'printerProvider', 'privacy', 'processes', 'proxy', 'sessions', 'signedInDevices', 'storage', 'system.cpu', 'system.display', 'system.memory', 'system.storage', 'tabCapture', 'tabs', 'topSites', 'tts', 'ttsEngine', 'unlimitedStorage', 'vpnProvider', 'wallpaper', 'webNavigation', 'webRequest', 'webRequestBlocking' ] }], 'platforms', 'plugins', 'requirements', 'sandbox', 'short_name', 'signature', 'spellcheck', 'storage', 'system_indicator', 'tts_engine', 'update_url', 'version_name', 'web_accessible_resources' ], recommend: ['default_locale', 'description', 'icons'], pickOneOrNone: ['browser_action', 'page_action'] } // https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json const firefox = { required: [ 'version', 'name', ['manifest_version', {value: 2}] ], optional: [ 'applications', 'author', ['background', {unsupportProps: ['persistent']}], 'browser_action', 'chrome_url_overrides', 'commands', 'content_scripts', 'content_security_policy', 'default_locale', 'description', 'developer', 'homepage_url', 'icons', 'omnibox', ['options_ui', {unsupportProps: ['chrome_style']}], 'page_action', ['permissions', { supportValues: [ 'activeTab', 'alarms', 'bookmarks', 'browsingData', 'contextMenus', 'contextualIdentities', 'cookies', 'downloads', 'downloads.open', 'history', 'identity', 'idle', 'management', 'nativeMessaging', 'notifications', 'sessions', 'storage', 'tabs', 'topSites', 'webNavigation', 'webRequest', 'webRequestBlocking' ] }], 'short_name', 'sidebar_action', 'web_accessible_resources' ], recommend: 'inherit', pickOneOrNone: 'inherit' } // https://docs.microsoft.com/en-us/microsoft-edge/extensions/api-support/supported-manifest-keys const edge = { required: ['author', 'name', 'version'], optional: [ 'background', ['browser_action', { unsupportProps: ['browser_style'] }], 'content_scripts', 'content_security_policy', 'default_locale', 'minimum_edge_version', 'key', 'options_page', ['permissions', { supportValues: [ 'contextMenus', 'cookies', 'geolocation', 'idle', 'storage', 'tabs', 'unlimitedStorage', 'webNavigation', 'webRequest', 'webRequestBlocking' ] }], 'short_name', 'web_accessible_resources' ], recommend: ['description', 'manifest_version', 'icons'], pickOneOrNone: 'inherit' } module.exports = {chrome, firefox, edge}