node package manager

jpm

JPM Dependency Status Build Status

NPM NPM

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

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/

License

MPL-2.0