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)、kolorist、minimist—create-addfox-appから削除し、軽量な自製ユーティリティに置き換え。
その結果、pnpm-lock.yaml は約 2,156 行削減され、インストール速度の向上、node_modules の縮小、エンドユーザーのサプライチェーンリスクの低減を実現しました。
前後比較:サードパーティのランタイム依存関係
残っているものは何か? 成熟しており、極めて小さなサードパーティのランタイム依存はたった 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.ts、web-ext-logger.d.ts、web-ext-console-stream-hook.tsなどの互換ファイルを削除。
これにより、開発サーバーの起動が速くなり、デバッグが容易になり、完全に制御可能になりました。
HMR プラグインの再構築
@addfox/rsbuild-plugin-extension-hmr パッケージでは最も大きなコード削減が行われました:
web-extを廃止したことで、launcher.tsとrunner.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 をご利用いただきありがとうございます!


