Build the extension

A zip file with the contents of the extension, which can be uploaded to the Chrome Web Store and addons.mozilla.org, can be created by following these instructions. (make sure to install Go before building the extension, as it is needed during the build).

The last section explains how to build the extension automatically when you change the source code.

Build the extension as a zip file

Run make release to build the extension for all the available channels and browsers. You can also run make {target} where {target} is one of the following: release_chromium_stable, release_chromium_beta, release_gecko_stable.

Run make clean_releases to clean all the release files (this removes the out folder, which is where the release files are saved).

Take a look at Makefile, you'll find other targets for make which do other interesting things (like clean, for instance).

Build the extension continously with webpack development mode

If you're developing the extension, you might want to load it into your browser without having to constantly build it manually after each change. In order to do that, you can run make serve_chromium_mv3 or make serve_gecko depending on the type of continuous build you want.

This will run webpack with watch mode and continuously serve a fresh version of the compiled extension at dist/{BROWSER}, where {BROWSER} depends on the target you selected for make. You can load this folder in Chrome by going to chrome://extensions and selecting "Load unpacked".

Keep in mind that while the extension is continuously built, it is not automatically being loaded into Chrome. You'll have to reload the extension manually in Chrome (but at least you won't have to both build and reload it).