Awesome WebExtensions 
A curated list of awesome resources for WebExtensions development.
WebExtensions are a cross-browser system for developing browser add-ons. To a large extent the system is compatible with the extension API supported by Google Chrome. Extensions written for this browser will in most cases run in Firefox with just a few changes.
Follow @fregante for more webext-related news.
Contents
Getting started
- Chrome Extensions documentation - Documentation for the original Chrome extension model.
- Mozilla's WebExtensions documentation - MDN wiki for the WebExtensions API.
- Browser support for WebExtensions - Compatibility table for Chrome, Edge, Firefox, and Opera.
- Safari Extensions documentation - Developer documentation on building Safari extensions. Technically not WebExtensions, the API is completely different.
- Opera API support - Detailed WebExtensions support for Opera.
- Browser Extension Standard - Standard for the API, supported by Mozilla, Opera and Microsoft.
Community
- Google Groups - Discussions.
- Mozilla Discourse - Discussions.
#addons:mozilla.org- Matrix channel by Mozilla.google-chrome-extensiontag on Stack Overflow - Relevant questions.firefox-addon-webextensionstag on Stack Overflow - Relevant questions.microsoft-edge-extensiontag on Stack Overflow - Relevant questions.
Libraries and Frameworks
Code meant become part of the extension.
- webext-options-sync - Helps you manage and autosave your extension's options.
- webext-storage-cache - Map-like promised cache storage with expiration.
- webext-dynamic-content-scripts - Automatically inject your
content_scriptson custom domains. - mozilla/webextension-polyfill - Polyfill to support the standardized promise based API in the
browsernamespace. - @types/firefox-webext-browser - Supplies TypeScript types for the
browsernamespace. - redux-webext - Uses Redux for managing the state of your WebExtension.
- ExtPay - Take secure payments in extensions without needing to run a server backend.
- inject-react-anywhere - Inject React components into 3rd party sites with convenient API and styles isolation.
- More…
Tools
Apps that help you manage your extensions.
- Chrome Webstore Upload - Upload the extension to the Chrome Web Store via cli (or on Travis, automatically).
- mozilla/web-ext - Command line tool to help build, run, and test WebExtensions.
- chromepet - Get notified when your new version has been published.
- chrome-ext-downloader - Download any extension on Chrome Web Store to see how they do it.
- chrome-store-api - Chrome Web Store API wrapper.
- Chrome extension source viewer - WebExtension to view source code of extensions directly on the store.
- @wext/shipit - Tool to automatically publish to Chrome Web Store, Mozilla Addons and Opera Addons.
- wext-manifest-loader - Webpack loader that lets you specify
manifest.jsonproperties to appear only in specific browsers. - webextension-manifest-loader - Webpack loader that loads browser tailored manifest.json. It also imports all importable properties, allowing you to have 'manifest.json' as your only webpack entry point.