Skip to content

Latest commit

 

History

History
67 lines (41 loc) · 3.3 KB

CONTRIBUTING.md

File metadata and controls

67 lines (41 loc) · 3.3 KB

Contributing to the browser extension

Thank you for showing an interest in contributing 💜

The goal of this browser extension is to help developers of Podium applications test and debug their apps.

The extension targets WebExtension Manifest V3 for cross-browser support.

If you're new to extension development, a great place to start is Mozilla's WebExtension workshop. Some other documentation for extension authors that may be helpful:

Building

To build the extension:

npm install --legacy-peer-deps
npm run build

The extension JavaScript bundle is generated to the public/ directory, and the packaged extension to dist/.

Testing

We use web-ext to get a quick and simple development environment in Chrome and Firefox.

  1. Run npm install
  2. Run npm start

Chrome will open automatically.

  • In the browser window, go to a test application (for instance start server/example) and open the devtools to reveal the Podium panel.
  • Right click inside the panel and Inspect to open the "devtools for the devtool".

To test in Firefox, run npm run start:firefox.

Manual testing

The process is similar across browsers. Also note that some changes may require a reinstall or a refresh inside the browser settings.

Firefox

  • Open about:debugging and click This Firefox
  • Click Load Temporary Add-on
  • Select build/manifest.json

You'll have to repeat the steps the next time you start Firefox, and hit the refresh button when you rebuild the extension.

NB: you may have to give the Podium extension permission to run. Look for a dot on the extension and consider allowing it to always run on the domain you're working on.

Chrome

The approach should be similar in Chromium-based browsers.

  • Open chrome://extensions/
    • Toggle Developer mode on in the top-right if it's not on already.
  • Click Load unpacked
  • Select the build/ directory

The extension should now be installed and ready for testing. You may have to hit the refresh button when you rebuild the extension.