Addfox 0.2.0:アーキテクチャの再構築と依存関係の削減

2026年5月25日

Addfox フレームワークの最新の進捗をお伝えできることを嬉しく思います。バージョン 0.2.0 が正式にリリースされました。これは重要なアーキテクチャの再構築を含むリリースです。今回のアップデートは 3 つの核心目標に焦点を当てています。依存関係の削減ブラックボックスツールを内蔵代替ソリューションで置き換える、そしてブラウザ拡張機能開発の開発者体験を向上させることです。

依存関係の大幅な削減とサプライチェーンセキュリティ

今回の再構築で最も大きな変更の一つは、膨大な推移的依存関係を抱えるサードパーティ製パッケージを積極的に削除したことです。外部の依存関係はそれぞれ潜在的なサプライチェーンリスクです。廃止、悪意のある乗っ取り、あるいは推移的パッケージの破壊的変更などが挙げられます。大規模なサードパーティツールを焦点を絞った内蔵代替ユーティリティに置き換えることで、Addfox ユーザーの攻撃対象領域を劇的に縮小しました。

削除したものは以下の通りです:

  • web-ext(約 586 KB + 26 の推移的依存)— 完全に削除。
  • chrome-launcher — 削除。
  • archiver(約 40 KB + 9 の推移的依存)— 自製 zip ユーティリティに置き換え。
  • cli-table3(約 46 KB + 1 の推移的依存)— @addfox/core から削除。
  • chalk(約 44 KB)、koloristminimistcreate-addfox-app から削除し、軽量な自製ユーティリティに置き換え。

その結果、pnpm-lock.yaml は約 2,156 行削減され、インストール速度の向上、node_modules の縮小、エンドユーザーのサプライチェーンリスクの低減を実現しました。

前後比較:サードパーティのランタイム依存関係

パッケージ0.1.1 のサードパーティ依存0.2.0 のサードパーティ依存
@addfox/cliarchiver(なし)
@addfox/corecli-table3jitijiti
create-addfox-appchalkkoloristminimistpromptsprompts
@addfox/rsbuild-plugin-extension-hmrchrome-launcherweb-ext(なし)
@addfox/launcherN/A(新規パッケージ)(なし)
@addfox/common(なし)(なし)
@addfox/pkg-manager(なし)(なし)
@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

残っているものは何か? 成熟しており、極めて小さなサードパーティのランタイム依存はたった 2 つだけです:

  • jiti — 軽量な TypeScript 設定ローダー(約 50 KB、推移的依存ゼロ)。
  • prompts — 最小限の CLI プロンプトライブラリ(約 30 KB、推移的依存ゼロ)。

残りはすべて内部モジュール(@addfox/*)であるか、ビルドツールチェーンによって処理されます(@rspack/core は開発依存)。

@addfox/launcher の登場

これまで、Firefox の開発は web-ext run に依存していました。これは強力ですが依存関係が多いツールでした。私たちは @addfox/launcher をゼロから構築しました:

  • ランタイム依存関係ゼロ
  • Chromium 系(Chrome、Edge など)と Gecko 系(Firefox、Zen など)を統合サポート。
  • Firefox の HMR は RDP プロトコルを使用して一時アドオンを直接リロードするようになり、web-ext の複雑なプロセス管理が不要になりました。
  • web-ext.d.tsweb-ext-logger.d.tsweb-ext-console-stream-hook.ts などの互換ファイルを削除。

これにより、開発サーバーの起動が速くなり、デバッグが容易になり、完全に制御可能になりました。

HMR プラグインの再構築

@addfox/rsbuild-plugin-extension-hmr パッケージでは最も大きなコード削減が行われました:

  • web-ext を廃止したことで、launcher.tsrunner.ts が大幅に簡素化されました。
  • 拡張機能マネージャーがプロファイルディレクトリとリロードロジックをよりクリーンに処理するようになりました。
  • キーボードリロードと WebSocket サーバーのパスも合理化されました。

全体として、ワークスペースの diff は約 50 ファイルの変更純減約 1,641 行のコードとなりました。メンテナンスの負担が減り、エッジケースが減り、信頼性が向上しました。

テストカバレッジの強化

コードを削除しただけでなく、品質への投資も行いました:

  • rsbuild-plugin-extension-entry:テスト +260 行
  • rsbuild-plugin-extension-hmr:テスト +114 行
  • rsbuild-plugin-extension-manifest:テスト +101 行
  • rsbuild-plugin-extension-monitor:テスト +112 行

正式リリース

上述のアーキテクチャ再構築と依存関係の削減は、バージョン 0.2.0 として正式にリリースされました。ぜひアップグレードしてお試しください。Addfox をご利用いただきありがとうございます!