Automic VaultAutomic Vault

brew

Install web-ext with Homebrew, MacPorts, Nix

Command-line tool to help build, run, and test web extensions. Version 10.4.0 via Homebrew; verified 2026-06-13.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install web-ext

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install web-ext

MacPorts ports tree · devel/web-ext/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#web-ext

nixpkgs package indexes · pkgs/by-name/we/web-ext/package.nix · source: api.github.com

overview

Package summary

Command-line tool to help build, run, and test web extensions

Commands and aliases

  • web-ext

history

Project history and usage

web-ext is Mozilla's command-line tool for building, running, testing, packaging, and signing browser extensions. It grew out of Firefox's WebExtensions transition, giving add-on developers a repeatable CLI workflow around temporary installs, automatic reloads, linting, build artifacts, and submission to addons.mozilla.org.

Project history

Mozilla created the public web-ext repository and npm package in February 2016, while WebExtensions support was still stabilizing in Firefox. Mozilla's April 2016 add-ons blog described WebExtensions in Firefox 48 and pointed to web-ext as the command-line tool that would automate reloads during add-on development.

The 1.0.0 npm release landed in April 2016. By July 2016, Mozilla was already describing web-ext 1.0 as announced and following up with automatic extension reloading and source linting, two features that became central to the tool's everyday value.

The tool continued as part of Firefox Extension Workshop documentation rather than as an abandoned migration helper. By 2026, npm showed a long release history through the 10.x series, while the official command reference documented the current major-version command set.

Adoption history

web-ext became the standard Mozilla-supported CLI for WebExtension developers because it matches the repetitive tasks of extension work: run the extension in a temporary Firefox profile, watch files, reload after edits, package the source as a zip, and sign or submit builds for addons.mozilla.org.

The broader adoption story is tied to Firefox's move away from legacy extension systems toward the cross-browser WebExtensions model. Even when an extension targets multiple browsers, web-ext remains useful for Firefox-specific testing, AMO signing, Android extension testing, and making Firefox profile state disposable during development.

How it is used

The common development loop is to change into an extension source directory and run `web-ext run`, which starts Firefox with the extension temporarily loaded and reloads it after source changes. When the extension is ready, `web-ext build` creates a package and `web-ext sign` can use addons.mozilla.org API credentials to produce or submit signed artifacts.

The tool also supports configuration files and package.json configuration, so teams can put source directories, ignore patterns, signing settings, and other options under version control or local developer configuration. This makes it a small but important bridge between browser-extension code and ordinary command-line build automation.

Why package nerds care

web-ext matters in package-manager culture because it turns a browser UI workflow into a scriptable developer tool. Installing it with npm, Homebrew, MacPorts, or Nix lets extension developers use the same shell habits they use for compilers, linters, and bundlers, while still targeting Firefox's extension runtime and AMO publishing requirements.

Timeline

  • 2016-02: Mozilla created the public web-ext repository and first npm package.
  • 2016-04: web-ext 1.0.0 was published as Firefox 48-era WebExtensions support stabilized.
  • 2016-07: Mozilla documented follow-up work adding automatic reload and linting to the young tool.
  • 2024: The npm release stream reached web-ext 8.x, matching a separately documented v8 command reference.
  • 2026: npm listed web-ext 10.4.0 as the current package version.

Related projects

  • web-ext sits beside Mozilla's addons-linter, addons.mozilla.org signing APIs, MDN WebExtensions documentation, and browser-specific extension debugging pages such as about:debugging. It is also adjacent to cross-browser extension frameworks that eventually call into browser-specific build or signing steps.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.
  • Installs with 2 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Linux
~/.web-ext-config.mjs./web-ext-config.mjs./.web-ext-config.cjs./package.json
macOS
~/.web-ext-config.mjs./web-ext-config.mjs./.web-ext-config.cjs./package.json
Windows
C:\Users\<username>\.web-ext-config.mjs.\web-ext-config.mjs.\.web-ext-config.cjs.\package.json

Credential files

Credential-bearing paths to review before unattended agent runs.

Linux
~/.web-ext-config.mjs./web-ext-config.mjs./.web-ext-config.cjs./package.json
macOS
~/.web-ext-config.mjs./web-ext-config.mjs./.web-ext-config.cjs./package.json
Windows
C:\Users\<username>\.web-ext-config.mjs.\web-ext-config.mjs.\.web-ext-config.cjs.\package.json

executables

Installed executables

CommandKindExposureNote
web-extcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version10.4.0
manager updated2026-06-13
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/mozilla/web-ext

install metadata

Package metadata

Package keybrew:web-ext
Version10.4.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/web-ext
Homepagehttps://github.com/mozilla/web-ext
Repositoryhttps://github.com/mozilla/web-ext
Upstream docshttps://extensionworkshop.com/documentation/develop/getting-started-with-web-ext
LicenseMPL-2.0
Source archivehttps://registry.npmjs.org/web-ext/-/web-ext-10.4.0.tgz
Last updated2026-06-13T16:05:11Z
Pulseupdated
Dependenciesnode, terminal-notifier
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameweb-ext
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

web-ext

nix profile install nixpkgs#web-ext
  • normalized package name match
  • Matched by: Web Ext
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/we/web-ext/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

web-ext

sudo port install web-ext
  • normalized package name match
  • Matched by: Web Ext
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/web-ext/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment