IMPORTANT UPDATE AS OF 2019-11-26: The
jpm package is no longer maintained as Firefox no longer supports add-ons built with
jpm. If you're building a new add-on, consider a
instead and check out the web-ext
tool which has all the same features as
jpm. Here are some
to help you migrate a legacy
jpm built add-on.
IMPORTANT UPDATE AS OF 2017-02-07: Firefox is planning to deprecate the type of
add-ons that are built by
Replacing the previous python tool for developing Firefox Add-ons, cfx, jpm is a utility for developing, testing, and packaging add-ons.
Install the latest stable version from NPM:
npm install --global jpm
Alternatively, you can install
from the GitHub source to get the latest features or to work on jpm itself.
Use npm link to add the
jpm global to your path:
git clone https://github.com/mozilla-jetpack/jpm.git cd jpm npm install npm link
jpm --help for all available commands and options or read the documentation linked below.
- Getting Started with jpm
- package.json keys that jpm uses
- Command Line Guide
- Self-hosting signed add-ons
- Transitioning From CFX
Read about how to contribute patches to
Using Post and Watchpost
Note: this is experimental
You must have the Extension Auto-Installer
installed on a pre-production Firefox and you need to use a profile
(more info). For logging with
watchpost, also see Developing without browser restarts.
Once this has completed, setup a watchpost:
jpm watchpost --post-url http://localhost:8888/
This will watch for changes to the current working directory and post a new xpi to your installed
Extension Auto-Installer which will then install the new xpi. To end the process, use the hokey,
CTRL + C.
For a simple xpi and post, use:
jpm post --post-url http://localhost:8888/