addons-linter for Mac
The Add-ons Linter is being used by web-ext and addons.mozilla.org to lint WebExtensions.
addons-linter — overview
The Add-ons Linter is being used by web-ext and addons.mozilla.org to lint WebExtensions.
It can also be used as a standalone binary and library.
You can find more information about the linter and it's implemented rules in our documentation.
Usage
Command Line
You need Node.js to use the add-ons linter.
To validate your add-on locally, install the linter from npm:
After installation, run the linter and direct it to your add-on file:
Alternatively you can point it at a directory:
The addons-linter will check your add-on and show you errors, warnings, and friendly messages for your add-on. If you want more info on the options you can enable/disable for the command-line app, use the --help option:
Privileged extensions
The addons-linter can lint privileged extensions only when the --privileged option is passed to it. This option changes the behavior of the linter to: emit errors when the input file (or directory) is a regular extension (i.e. the extension does not use privileged features) hide messages related to privileged features (e.g., permissions and properties) when the input file (or directory) is a privileged extension
Linter API Usage
You can use the linter directly as a library to integrate it better into your development process.
linter.output is composed by the following properties (the same of the 'json' report type):
Development
If you'd like to help us develop the addons-linter, that's great! It's pretty easy to get started, you just need Node.js installed on your machine.
Quick Start
If you have Node.js installed, here's the quick start to getting your development dependencies installed and running the tests
You can also build the addons-linter binary to test your changes.
Required Node version
addons-linter requires Node.js v22 or greater. Have a look at our .circleci/config.yml file which Node.js versions we officially test.
Using nvm is probably the easiest way to manage multiple Node versions side by side. See nvm on GitHub for more details.
Install dependencies
Install dependencies with npm:
npm scripts
Building
You can run npm run build to build the library.
Once you build the library you can use the CLI in bin/addons-linter.
Testing
Run npm test. This will watch for file-changes and re-runs the test suite.
Coverage
We're looking to maintain coverage at 100%. Use the coverage data in the test output to work out what lines aren't covered and ensure they're covered.
Assertions and testing APIs
We are using using Sinon for assertions, mocks, stubs and more see the Sinon docs for the API available.
Jest is being used as a test-runner but also provides helpful tools. Please make sure you read their documentation for more details.
Logging
We use pino for logging: By default logging is off (level is set to 'fatal') . Logging in tests can be enabled using an env var e.g: LOG_LEVEL=debug jest test Logging on the CLI can be enabled with --log-level [level].
Prettier
Details
Firefox 插件检查工具,使用 JavaScript 编写
How to install addons-linter
- Open Terminal (press ⌘ + Space and type “Terminal”).
- If Homebrew is not installed yet, run the command below first.
- Run this command:
Latest 10 releases
Last updated 2026-10-26; current version 10.15.0, with the latest 10 releases listed.
| Version | Released | Type | Size | macOS | Windows | Linux |
|---|---|---|---|---|---|---|
| 10.15.0 | 2026-10-26 | Stable | — | — | — | — |
| 10.14.0 | 2026-10-09 | Stable | — | — | — | — |
| 10.13.0 | 2026-09-18 | Stable | — | — | — | — |
| 10.12.0 | 2026-09-11 | Stable | — | — | — | — |
| 10.11.0 | 2026-09-09 | Stable | — | — | — | — |
| 10.10.0 | 2026-08-04 | Stable | — | — | — | — |
| 10.9.0 | 2026-07-13 | Stable | — | — | — | — |
| 10.8.1 | 2026-07-10 | Stable | — | — | — | — |
| 10.8.0 | 2026-07-10 | Stable | — | — | — | — |
| 10.7.0 | 2026-06-12 | Stable | — | — | — | — |
Data from GitHub Releases; stable releases first, each group sorted newest first.
Prebuilt bottle platforms
Official Homebrew bottles cover:
- all
⚠️ No prebuilt bottle for Intel Macs; Intel users need brew install --build-from-source to build from source.
Compared with similar apps
Only public metadata is compared, with no subjective recommendation; see the compare pages for field-by-field comparisons.
| App | Version | License | Architecture | 30-day installs |
|---|---|---|---|---|
| addons-linter | 10.15.0 | MPL-2.0 | CLI | 19 |
| svlint | v0.9.5 | MIT | CLI | 8 |
| joker | v1.10.0 | EPL-1.0 | CLI | 8 |
| sherif | v1.13.0 | MIT | CLI | 6 |
Similar apps: Command-line Tools
svlint
SystemVerilog linter compliant with IEEE1800-2017. Written in Rust, based on sv-parser.joker
Small Clojure interpreter, linter and formattersherif
Sherif: Opinionated, zero-config linter for TypeScript & JavaScript monoreposopal
Ruby to JavaScript transpileropenssl@4
Cryptography and SSL/TLS Toolkitxz
General-purpose data compression with high compression ratioCategories: Command-line Tools