DEV Community

GXY Gomi
GXY Gomi

Posted on

Addfox 0.2.0: Architecture Refactoring & Dependency Slimming

Addfox 0.2.0: Architecture Refactoring & Dependency Slimming

Addfox Architecture

We are excited to share the latest progress on the Addfox framework (https://github.com/addfox/addfox). 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

Package 0.1.1 Third-Party Deps Dev-Launch Third-Party Deps
@addfox/cli archiver (none)
@addfox/core cli-table3, jiti jiti
create-addfox-app chalk, kolorist, minimist, prompts prompts
@addfox/rsbuild-plugin-extension-hmr chrome-launcher, web-ext (none)
@addfox/launcher N/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!

Top comments (0)