Skip to content
YUKI "Piro" Hiroshi edited this page Oct 17, 2017 · 22 revisions

At first prepare required environment, Node.js LTS. On Linux (I'm using Ubuntu and Debian), n seems the easiest way like:

$ sudo apt install nodejs npm
$ sudo npm install -g n
$ sudo n lts
$ sudo apt remove nodejs npm
$ sudo ln -s /usr/local/bin/node /usr/bin/node

On Windows, you just need to install the version from the installer.

Next, install the original web-ext normally. On Linux:

$ sudo npm install -g web-ext

On Windows:

> npm install -g web-ext

And clone this modified version, then build it. On Linux:

$ cd /tmp
$ git clone https://github.com/piroor/web-ext.git
$ cd web-ext
$ git checkout for-dogfooding
$ npm install .
$ node_modules/.bin/grunt build

On Windows:

> cd %temp%
> git clone https://github.com/piroor/web-ext.git
> cd web-ext
> git checkout for-dogfooding
> npm install .
> node_modules\.bin\grunt build

Finally, copy built files to the location of originals. On Linux:

$ sudo cp dist/web-ext* /usr/local/lib/node_modules/web-ext/dist/

On Windows:

> copy dist\web-ext* %AppData%\npm\web-ext\dist\

Now you can run Firefox with multiple addons from their source, with static profile.

$ web-ext run --firefox=/full/path/to/firefox \
              --keep-profile-changes-completely \
              --source-dir=/full/path/to/addon1,/full/path/to/addon2,/full/path/to/addon3

Note that you need to specify all paths as full paths.

Clone this wiki locally