We're looking for a person or people to help audit MDN to find places we could speed up. Is this you or someone you know? Check out the RFP: https://mzl.la/2IHcMiE


web-ext command reference

このページは web-ext コマンドラインツールで利用できるコマンドとオプションを一覧にします。


web-ext には下記のコマンドがあります; このコマンド固有のオプションはサブセクションに入っています。

web-ext build

拡張機能を .zip ファイルにパッケージし、.git やその他の成果といった、一般的にパッケージに望まれないファイルは無視する。.zip ファイルの名前は拡張機能 manifestname 項目から取られる。



環境変数: $WEB_EXT_AS_NEEDED=true

--overwrite-dest, -o

作成先のパッケージファイルが存在する場合、上書きする。このオプションを指定しないと、作成先のファイルが存在する場合 web-ext はエラー終了する。


web-ext docs

ユーザーのデフォルトブラウザーで web-ext documentation を開く。

web-ext lint

Reports errors in the extension manifest or other source code files. See the addons-linter project for more information about what kind of rules are used to validate extension source.

--output, -o

The type of output to generate when reporting on errors. Choices: json or text.



Output only metadata about the extension in JSON.

環境変数: $WEB_EXT_METADATA=true


Format the JSON output so that it's easier to read. This only applies when --output is set to json.

環境変数: $WEB_EXT_PRETTY=true


Declares that your extension will be self-hosted. This disables messages related to hosting on addons.mozilla.org.



Disables colorful shell characters so that the output only contains plain text.

環境変数: $WEB_EXT_BORING=true

--warnings-as-errors, -w

Treat warnings as errors by exiting non-zero for warnings.


web-ext run

Builds and then temporarily installs an extension on the target application, so it can be tested. 既定では, watches extension source files and reload the extension in each target as files change.


Path to the ADB (Android Device Bridge) executable on the machine you are running web-ext from. 既定では, the adb executable will be located on your PATH.


--adb-device, --android-device

The ID of your target Android device. If you do not specify this option, web-ext will list the IDs of each device connected. If you don't see a list of connected devices, make sure yours is set up for development.


web-ext run --target=firefox-android --android-device FA4AX0201736



Host name to use when connecting to an Android device with ADB (Android Device Bridge). This will be discovered automatically 既定では.



Network port to use when connecting to an Android device with ADB (Android Device Bridge). This will be discovered automatically by default.


--browser-console, -bc

This opens a Browser Console on startup, so you can see log messages for your extension. Example:

web-ext run --browser-console


--firefox, -f

Specify a particular version of Firefox Desktop to run the extension in. The value is an absolute path to the Firefox executable or an alias string. If this is not specified, it will attempt to run the extension inside the system's default installation of Firefox.

Here is an example specifying a full path to a Firefox executable on Windows:

--firefox="C:\Program Files\Mozilla Firefox\firefox.exe"

Here is an example specifying an executable path on Mac OS:


You can also use aliases, like this:


Here are all available aliases and the executables they map to:

Alias Firefox executable
firefox The release build of Firefox
beta The beta build of Firefox
nightly The nightly build of Firefox
firefoxdeveloperedition The developer build of Firefox



The exact APK name for Firefox on your Android device. Without specifying this option, web-ext will automatically select it for you. If more than one Firefox APK is installed, web-ext will show a list of values to choose from.


web-ext run --target=firefox-android --firefox-apk=org.mozilla.firefox


--firefox-profile, -p

Specify a base Firefox profile to run the extension in. This is specified as a string containing your profile name or an absolute path to its directory. The profile you specify is copied into a new temporary profile and some settings are added that are required for web-ext to function.

If a profile is not specified, it runs the extension using a new temporary profile.



With this option, any changes made to the profile directory (specified by --firefox-profile) are saved. Without this option, profile changes are not saved.

This option makes the profile specified by --firefox-profile completely insecure for daily use. It turns off auto-updates and allows silent remote connections, among other things. Specifically, it will make destructive changes to the profile that are required for web-ext to operate.



Do not automatically reload the extension in the browser as you edit and save source files.

環境変数: $WEB_EXT_NO_RELOAD=true


Pre-install the extension into the profile before starting the browser. This is a way to support Firefox versions less than 49, as they don't support remote installation. Specifying this option implies --no-reload.



Customize any Firefox preference without creating or modifying the profile. Use the equal sign to set values, for example:

--pref general.useragent.locale=fr-FR

Specify this option multiple times to set more than one preference.


--target, -t

This specifies which application to run your extension in. Specify this option multiple times to run the extension in each application concurrently.

Here are the supported targets:

Target Application
firefox-desktop The extension will run in Firefox Desktop.
firefox-android The extension will run in Firefox for Android. You must also specify --android-device.

If no target is specified, the extension will run in firefox-desktop.



This will open a tab at the specified URL when the browser starts. Example:

web-ext run --start-url www.mozilla.com

Declare this option multiple times to open multiple tabs. Example:

web-ext run --start-url www.mozilla.com --start-url developer.mozilla.org


web-ext sign

Packages an extension and signs it so it can be self-hosted. This will create a signed .xpi file instead of a .zip file. You will need to create API access credentials to run this command.


Your API key (JWT issuer) for accessing the addons.mozilla.org API. This should always be a string.



Your API secret (JWT secret) from addons.mozilla.org API. This should always be a string.



The signing API URL prefix. This should always be a string. If not specified, this will default to https://addons.mozilla.org/api/v3 which is the production API.



A proxy host to use for all API connections. Example: https://yourproxy:6000. Read more about how proxy requests work. There is a separate section about signing in a restricted environment if the proxy approach doesn't work for you.



Number of milleseconds to wait before giving up on a response from Mozilla's web service. This should always be a number.



A custom identifier string for the extension. This has no effect if the extension already declares an identifier in its manifest. This option may be useful for signing versions of an exisiting extension that you own.

環境変数: $WEB_EXT_ID

Global options

web-ext has the following global options that may apply to multiple commands.

--artifacts-dir, -a

Specifies a particular directory to save artifacts in, e.g the .zip file, once you've built an extension. This can be specified as a relative or absolute path, and should always be a string.

: If this is not specified, the default is the relative path ./web-ext-artifacts.


--config, -c

Load a config file to set option value defaults. See an example of what config files look like and how they work.


--config-discovery=false, --no-config-discovery

Disable automatic config file discovery.


--ignore-files, -i

A list of glob patterns to define which files should be ignored by build, run, lint and other commands. If you specify relative paths, they will be relative to your --source-dir.

Here is an example of ignoring any file within your --source-dir (or its subdirectories) that ends in the suffix .api-key:

web-ext build --ignore-files "**/*.api-key"

You can specify multiple patterns by separating them with spaces:

web-ext build --ignore-files path/to/first.js path/to/second.js

By default, without the use of --ignore-files, the following rules are applied:

  • Any file ending in .xpi or .zip is ignored
  • Any hidden file (one that starts with a dot) is ignored
  • Any directory named node_modules is ignored

When you specify custom patterns using --ignore-files, they are applied in addition to the default patterns.

: Order is important: you must specify the web-ext command before specifying the --ignore-files option.


--help, -h

Lists all the available commands and options available for the web-ext tool.

: You can list the options available for a specific command by including the command name as you request help, for example web-ext --help run.


Disable all features that require standard input.

環境変数: $WEB_EXT_NO_INPUT=true

--source-dir, -s

Specifies the directory of the extension's source code, e.g. when building or running an extension. This can be specified as a relative or absolute path, and should always be a string.

: If this is not specified, the default is the directory you are currently inside in your terminal.


--verbose, -v

Shows verbose output when commands are run.

環境変数: $WEB_EXT_VERBOSE=true


Shows the version number of the installed web-ext tool.

Setting option environment variables

Environment variables can be set for any option. You:

  1. Take the option name.
  2. Remove the two dashes at the start.
  3. Convert the remaining dashes to underscores.
  4. Capitalize the letters.
  5. Prefix the result with $WEB_EXT_.

So, 例えば、 instead of specifying the following source option every time you wish to run the extension:

web-ext run --source-dir=/path/to/my/extension

You could set the source directory as an environment variable like this:


Then you can just specify the run command without options:

web-ext run

A command line option will always override the environment variable. 例えば、 this ignores the environment variable:

web-ext run --source-dir=/another/path/to/source

To define a true / false flag option (which does not have a value on the command line), set it to a literal string value of either true or false. Example:




 このページの貢献者: Uemmra3
 最終更新者: Uemmra3,