Vývojářský manuál
Tato část je určena pro ty, kdo chtějí prozkoumat zdrojový kód, upravit pravidla nebo přispět pull requestem. Pokud chcete rozšíření pouze nainstalovat, postačí Uživatelský průvodce.
Kapitoly
- Přehled architektury — adresářová struktura projektu, odpovědnosti jednotlivých modulů, datový tok
- Formát souborů pravidel — jak jsou organizovány JSON soubory v adresáři
public/rules/, vnořené skupiny a dědičnost výchozích hodnot - Průběh detekce — od webRequest / vložení skriptu do stránky až po vykreslení vyskakovacího okna
- Přispívání pravidel — jak přidat novou technologii do vestavěné sady pravidel
- Sestavení a vydání — lokální sestavení, balíčkování, podpis crx, pracovní postup pro vydání
Přehled technologického stacku
Jádro projektu tvoří Vite 8 + Vue 3 + TypeScript + @crxjs/vite-plugin 3.x. Skript na pozadí je Manifest V3 ESM service worker, správce balíčků je bun.
Pravidla jsou uložena v adresáři public/rules/ rozdělena do více JSON souborů podle zaměření — pravidla pro stránky, pravidla pro hlavičky odpovědí, ekosystém WordPress / Drupal a další. Při sestavení se pravidla předpracují a vloží se do nich pole __hints / __legacyHints / __keywordCombined sloužící k urychlení porovnávání.
Běžné příkazy pro vývoj
bun install # instalace závislostí
bun run dev # spuštění vite dev serveru s hot reload pro rozšíření
bun run build # sestavení do dist/ pro načtení do Chrome
bun run typecheck # striktní typová kontrola přes vue-tsc
bun run lint # kontrola ESLint
bun run docs:dev # lokální náhled tohoto webu s dokumentací
bun run docs:build # sestavení statické stránky dokumentaceV režimu dev podporují stránky rozšíření hot reload. Změny v popup / settings / help se zpravidla aktualizují automaticky; po změně souborů src/background/ nebo content scriptu je nutné na stránce chrome://extensions/ ručně kliknout na tlačítko obnovení na kartě rozšíření.
Vstupní body Vue
Tři samostatné vstupní body SPA, sestavené nezávisle na sobě:
| Vstupní bod | Soubor | Popis |
|---|---|---|
| popup | src/ui/popup/index.html | Malé okno 440 × 600 px, které se otevře kliknutím na ikonu rozšíření v prohlížeči |
| settings | src/ui/settings/index.html | Stránka možností (options page) otevřená z detailního pohledu na chrome://extensions/ |
| help | src/ui/help/index.html | Samostatná záložka otevřená kliknutím na „Nápověda" na stránce nastavení |