Source code

Revision control

Copy as Markdown

Other Tools

# eslint-plugin-mozilla
A collection of rules that help enforce JavaScript coding standard in the Mozilla project.
These are primarily developed and used within the Firefox build system ([mozilla-central](https://hg.mozilla.org/mozilla-central/)), but are made available for other related projects to use as well.
## Usage
### Within mozilla-central:
```sh
$ ./mach eslint --setup
```
### Outside mozilla-central:
Install ESLint [ESLint](http://eslint.org):
```sh
$ npm i eslint --save-dev
```
Next, install `eslint-plugin-mozilla`:
```sh
$ npm install eslint-plugin-mozilla --save-dev
```
#### Flat config
```js
import mozilla from "eslint-plugin-mozilla"
export default [
...mozilla.configs["flat/recommended"];
]
```
The recommended configuration does not set up globals for all files. It
only sets the globals in the environment for Mozilla specific files, e.g. system
modules, sjs files and workers.
If you use some of the other configurations, note that they are objects rather
than arrays.
#### Legacy Configuration
```js
{
"extends": ["plugin:mozilla/recommended"]
}
```
#### Notes
If you use prettier in your setup, you may need to extend from eslint-config-prettier
to ensure that any rules that conflict with prettier are disabled.
## Documentation
For details about the rules, please see the [firefox documentation page](http://firefox-source-docs.mozilla.org/tools/lint/linters/eslint-plugin-mozilla.html).
## Source Code
The sources can be found at:
## Bugs
Please file bugs in Bugzilla in the Lint and Formatting component of the Developer Infrastructure product.
## Tests
The tests can only be run from within mozilla-central. To run the tests:
```sh
$ ./mach npm --prefix tools/lint/eslint/eslint-plugin-mozilla ci
$ ./mach npm --prefix tools/lint/eslint/eslint-plugin-mozilla test
```