Warning: This feature is a work in progress and may be incomplete or subject to change. If you see an error or something that could be improved, please make a pull-request. The link that documents this feature can be found at the bottom of the page.
Extension.js provides support for a variety of browsers, enabling you to easily develop and test your extensions across multiple platforms, detecting browser binaries and launching the selected browser with your extension loaded. The plugin also supports custom profiles, browser preferences, flags, and more.
To launch your extension in a specific browser, Extension.js uses the browser's binary path to open a new instance with your extension loaded. For supported browsers (Chrome, Edge, Firefox) you can specify the browser to use by passing the --browser flag with the desired browser name. For other browsers, you can specify the absolute path to the browser binary using the --chromium-binary or --gecko-binary flags, depending on the engine used by the browser.
The following browsers are officially supported by Extension.js:
| Browser | Usage |
|---|---|
| Chrome | npx extension dev --browser=chrome |
| Edge | npx extension dev --browser=edge |
| Firefox | npx extension dev --browser=firefox |
| Chromium-based | npx extension dev --chromium-binary=/path/to/chromium-based-browser |
| Gecko-based | npx extension dev --gecko-binary=/path/to/gecko-based-browser |
Any browser based on the Chromium engine (e.g., Brave or Opera) is supported with the same configuration options as Chrome.
--polyfill flag.--disable-extensions for clean testing environments.--browser-args flag.