<commit_before>jpm
===

[![Build Status](https://travis-ci.org/mozilla/jpm.png)](https://travis-ci.org/mozilla/jpm)

[Jetpack](https://wiki.mozilla.org/Jetpack) Manager for Node.js

## Usage

`jpm` has several commands: `run`, `xpi`, `init`, `test`, with details below. Some options are:

* `-b, --binary <path>` Use the specified Firefox binary to run the addon. Used in `run` and `test`.
* `-v, --verbose` Prints additional debugging information.
* `--binary-args <CMDARGS>` Passes the additional arguments into Firefox. Multiple arguments must be enclosed in quotes.
* `-p, --profile <PROFILE>` Uses the profile name or path when running Firefox. Paths must start with either "./" or "/", or otherwise assumed to be a profile name.

## Transitioning

Currently, any add-on with unspecified engines, or engines supporting versions of Firefox where AOM support for native jetpacks does not exist, jpm will add a `install.rdf` and `bootstrap.js` file for backwards compatability. This can be overridden with the `--force-aom` flag, which will not build with these additional files. This is mainly for testing AOM support while still in development.

### `jpm init`

Provides a series of prompts to create a `package.json` for an addon.

### `jpm run`

Runs the current addon.

### `jpm test`

Tests the current addon.

### `jpm xpi`

Zips up the current addon into a `.xpi` file.

## Testing

To run the jpm test suite

```
npm test
```

To run just a specific type of test (functional, unit), run the associated script:

```
npm run unit
```

## License

MPL 2.0<commit_msg>Update docs on installation, and working with jpm<commit_after>jpm
===

[![Build Status](https://travis-ci.org/mozilla/jpm.png)](https://travis-ci.org/mozilla/jpm)

[Jetpack](https://wiki.mozilla.org/Jetpack) Manager for Node.js

Replacing the previous python tool for developing Firefox Add-ons, [cfx](https://developer.mozilla.org/en-US/Add-ons/SDK/Tools/cfx), jpm is a utility for developing, testing, and packaging add-ons.

**Currently only works with Firefox 33**. Check out the `--binary` flag for ensuring that you're using the correct release of Firefox with jpm.

## Install

Installing from npm:

```
npm install jpm -g
```

Installing from GitHub to get latest features or working on jpm itself, use [npm link](https://www.npmjs.org/doc/cli/npm-link.html) to add the `jpm` global to your path:

```
git clone https://github.com/mozilla/jpm.git
cd jpm
npm install
npm link
```

## Usage

`jpm` has several commands: `run`, `xpi`, `init`, `test`, with details below. Some options are:

* `-b, --binary <path>` Use the specified Firefox binary to run the addon. Used in `run` and `test`.
* `-v, --verbose` Prints additional debugging information.
* `--binary-args <CMDARGS>` Passes the additional arguments into Firefox. Multiple arguments must be enclosed in quotes.
* `-p, --profile <PROFILE>` Uses the profile name or path when running Firefox. Paths must start with either "./" or "/", or otherwise assumed to be a profile name.

### Commands

* `jpm init` Provides a series of prompts to create a `package.json` for an addon.
* `jpm run` Runs the current addon.
* `jpm test` Tests the current addon.
* `jpm xpi` Zips up the current addon into a `.xpi` file.

### Examples

Run current addon with Firefox Nightly on OSX:

```
jpm run -b /Applications/FirefixNightly.app
```

Turn current addon into a `.xpi` file for deployment and installation

```
jpm xpi
```

## Transitioning From CFX

Currently, any add-on with unspecified engines, or engines supporting versions of Firefox where AOM support for native jetpacks does not exist, jpm will add a `install.rdf` and `bootstrap.js` file for backwards compatability. This can be overridden with the `--force-aom` flag, which will not build with these additional files. This is mainly for testing AOM support while still in development.


## Testing

To run the jpm test suite

```
npm test
```

To run just a specific type of test (functional, unit), run the associated script:

```
npm run unit
```

## License

MPL 2.0
{'fraction_non_alphanumeric': 0.11437022430367266, 'fraction_numerical': 0.0014789253142716292, 'mean_word_length': 4.09159347553325, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 9, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1129071', 'n_tokens_mistral': 1307, 'n_tokens_neox': 1210, 'n_words': 542}