JPM
IMPORTANT UPDATE AS OF 2017-02-07: Firefox is planning to deprecate the type of
add-ons that are built by jpm
. If you're building a new add-on, consider a
WebExtension
instead and check out the web-ext
tool which has all the same features as jpm
. Here are some
resources
to help you migrate a legacy jpm
built add-on.
Replacing the previous python tool for developing Firefox Add-ons, cfx, jpm is a utility for developing, testing, and packaging add-ons.
Install
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
Usage
Type jpm --help
for all available commands and options or read the documentation linked below.
Documentation
- Getting Started with jpm
- package.json keys that jpm uses
- Command Line Guide
- Self-hosting signed add-ons
- Transitioning From CFX
Contributing
Read about how to contribute patches to jpm
.
Using Post and Watchpost
Note: this is experimental
Setup
You must have the Extension Auto-Installer
installed on a pre-production Firefox and you need to use a profile
that sets xpinstall.signatures.required
to false
(more info). For logging with watchpost
, also see Developing without browser restarts.
Usage
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/