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), but are made available for other related projects to use as well.
$ ./mach eslint --setup
Install ESLint ESLint:
$ npm i eslint --save-dev
Next, install eslint-plugin-mozilla
:
$ npm install eslint-plugin-mozilla --save-dev
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.
{
"extends": ["plugin:mozilla/recommended"]
}
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. See here for more information.
For details about the rules, please see the firefox documentation page.
The sources can be found at:
- Code: https://searchfox.org/mozilla-central/source/tools/lint/eslint/eslint-plugin-mozilla
- Documentation: https://searchfox.org/mozilla-central/source/docs/code-quality/lint/linters
Please file bugs in Bugzilla in the Lint and Formatting component of the Developer Infrastructure product.
The tests can only be run from within mozilla-central. To run the tests:
$ ./mach npm --prefix tools/lint/eslint/eslint-plugin-mozilla ci
$ ./mach npm --prefix tools/lint/eslint/eslint-plugin-mozilla test