@addfox/launcher

Browser launcher for extension development. Supports the Chromium family (Chrome, Edge, Brave, etc.) and the Gecko family (Firefox, Zen, LibreWolf, etc.).

Installation

npm install @addfox/launcher

CLI Usage

npx addfox-launcher <browser> [url] [options]

Supported Browsers

  • Chromium: chrome, chromium, edge, brave, vivaldi, opera, santa, arc, yandex, browseros, custom
  • Gecko: firefox, zen, librewolf, waterfox, floorp

Options

OptionDescription
--binary <path>Path to browser binary
--extension <path>Extension directory to load (repeatable)
--profile <path>User profile / data directory
--watch <path>Watch directory for changes and restart (repeatable)
--devtoolsOpen DevTools automatically
--remote-debugging-port <port>Enable remote debugging
--args "<flags>"Extra browser arguments
--verbose, -vVerbose logging
--help, -hShow help

Examples

# Launch Chrome with an extension
npx addfox-launcher chrome --extension ./dist

# Launch Firefox with extension and file watching
npx addfox-launcher firefox --extension ./dist --watch ./src --verbose

Programmatic API

import { launchBrowser } from "@addfox/launcher";

const browser = await launchBrowser({
  target: "chrome",
  extensionPaths: ["./dist"],
  devtools: true,
});

// Later
await browser.exit();

Subpath Exports

// Chromium-specific APIs
import { launchChromium } from "@addfox/launcher/chromium";

// Gecko-specific APIs
import { launchGecko, createGeckoProfile, reinstallTemporaryAddonViaRDP } from "@addfox/launcher/gecko";