Skip to content

開発ハンドブック ​

このセクションは、ソースコードを読んだり、ルールを変更したり、PR を提出しようとしている人向けに書かれています。拡張機能をインストールするだけであれば、使用ガイド で十分です。

章構成 ​

  • アーキテクチャ概要 — プロジェクトのディレクトリ構造・各モジュールの役割・データフロー
  • ルールファイル形式 — public/rules/ 以下の JSON の構成・ネストされたグループ + defaults の継承
  • 検出フロー — webRequest / ページへの注入からポップアップのレンダリングまでの各ステップ
  • ルールの貢献 — 組み込みルールセットに新しい技術を追加する方法
  • ビルドとリリース — ローカルビルド・パッケージング・crx への署名・リリースワークフロー

技術スタックの概要 ​

プロジェクトのメインは Vite 8 + Vue 3 + TypeScript + @crxjs/vite-plugin 3.x です。バックグラウンドスクリプトは Manifest V3 の ESM サービスワーカーで、パッケージマネージャーは bun を使用しています。

ルールは public/rules/ 以下に配置され、ページルール・レスポンスヘッダールール・WordPress / Drupal エコシステムなどの方向別に複数の JSON ファイルに分割されています。ビルド時にルールが前処理され、マッチング高速化のための __hints / __legacyHints / __keywordCombined フィールドが注入されます。

開発でよく使うコマンド ​

bash
bun install            # 依存関係のインストール
bun run dev            # Vite dev サーバーを起動、拡張機能のホットリロード
bun run build          # dist/ にビルド、Chrome に読み込み可能
bun run typecheck      # vue-tsc による厳密な型チェック
bun run lint           # ESLint チェック
bun run docs:dev       # このドキュメントサイトのローカルプレビューを起動
bun run docs:build     # ドキュメントの静的サイトをビルド

dev モードでは拡張機能ページのホットアップデートに対応しています。popup / settings / help の変更は通常自動で更新されます。src/background/ やコンテンツスクリプトを変更した後は、chrome://extensions/ で拡張機能カードを手動で更新する必要があります。

Vue のエントリーポイント ​

3 つの独立した SPA エントリーポイントがあり、それぞれ独立してビルドされます:

エントリーポイントファイル説明
popupsrc/ui/popup/index.htmlブラウザー右上の拡張機能アイコンをクリックして表示される 440px × 600px のウィンドウ
settingssrc/ui/settings/index.htmlchrome://extensions/ の詳細ページから開く options page
helpsrc/ui/help/index.html設定ページの「使い方説明」をクリックして開く独立したタブ

関連リンク ​

MIT ライセンスの下で公開