Addfox 0.2.0: Architecture Refactoring & Dependency Slimming

May 25, 2026

We are excited to share the latest progress on the Addfox framework. Version 0.2.0 is now officially released, featuring a significant architecture refactoring. This update focuses on three core goals: reducing dependencies, replacing black-box tools with built-in alternatives, and improving the developer experience for browser extension development.

Dependency Slimming & Supply Chain Security

One of the most impactful changes in this refactoring is the aggressive removal of third-party dependencies that carried large transitive trees. Every external dependency is a potential supply-chain risk—whether through deprecation, malicious takeover, or breaking changes in transitive packages. By replacing large third-party tools with focused, built-in utilities, we have drastically shrunk the attack surface for Addfox users.

Here is what we removed:

  • web-ext (~586 KB + 26 transitive deps) — completely removed.
  • chrome-launcher — removed.
  • archiver (~40 KB + 9 transitive deps) — replaced with a built-in zip alternative.
  • cli-table3 (~46 KB + 1 transitive dep) — removed from @addfox/core.
  • chalk (~44 KB), kolorist, minimist — removed from create-addfox-app and replaced with lightweight built-in utilities.

The result? The pnpm-lock.yaml shrank by approximately 2,156 lines, meaning faster installs, smaller node_modules, and fewer supply-chain risks for end users.

Before vs. After: Third-Party Runtime Dependencies

Package0.1.1 Third-Party DepsDev-Launch Third-Party Deps
@addfox/cliarchiver(none)
@addfox/corecli-table3, jitijiti
create-addfox-appchalk, kolorist, minimist, promptsprompts
@addfox/rsbuild-plugin-extension-hmrchrome-launcher, web-ext(none)
@addfox/launcherN/A (new package)(none)
@addfox/common(none)(none)
@addfox/pkg-manager(none)(none)
@addfox/utils@addfox/common@addfox/common
rsbuild-plugin-extension-entry@addfox/core@addfox/core
rsbuild-plugin-extension-manifest@addfox/core@addfox/core
rsbuild-plugin-extension-monitor@addfox/common, @addfox/core@addfox/common, @addfox/core

What remains? Only two mature, tiny third-party runtime dependencies:

  • jiti — a lightweight TypeScript config loader (~50 KB, zero transitive deps).
  • prompts — a minimal CLI prompt library (~30 KB, zero transitive deps).

Everything else is either internal (@addfox/*) or handled by the build toolchain (@rspack/core as a dev dependency).

Introducing @addfox/launcher

Previously, Firefox development relied on web-ext run, a powerful tool with heavy dependencies. We have built @addfox/launcher from the ground up:

  • Zero runtime dependencies.
  • Unified support for Chromium (Chrome, Edge, etc.) and Gecko (Firefox, Zen, etc.).
  • Firefox HMR now uses the RDP protocol to reload temporary add-ons directly, eliminating the need for web-ext's complex process management.
  • Removed compatibility files such as web-ext.d.ts, web-ext-logger.d.ts, and web-ext-console-stream-hook.ts.

This makes the dev server faster to start, easier to debug, and fully under our control.

HMR Plugin Refactoring

The @addfox/rsbuild-plugin-extension-hmr package saw the largest code reduction:

  • launcher.ts and runner.ts were heavily simplified after dropping web-ext.
  • The extension manager now handles profile directories and reload logic more cleanly.
  • Keyboard reload and WebSocket server paths were streamlined.

Overall, the workspace diff shows roughly 50 files changed, with a net reduction of ~1,641 lines of code—less code to maintain, fewer edge cases, and better reliability.

Enhanced Test Coverage

We did not just delete code; we also invested in quality:

  • rsbuild-plugin-extension-entry: +260 lines of tests
  • rsbuild-plugin-extension-hmr: +114 lines of tests
  • rsbuild-plugin-extension-manifest: +101 lines of tests
  • rsbuild-plugin-extension-monitor: +112 lines of tests

Official Release

The architecture refactoring and dependency slimming described above are now officially released as version 0.2.0. Upgrade today and thank you for using Addfox!