đź“‘ OBSAH
-
Ăšvod 1.1 Co je Manifest V3 1.2 Podpora napĹ™ĂÄŤ prohlĂĹľeÄŤi 1.3 RozdĂly mezi MV2 a MV3
-
Anatomie rozšĂĹ™enĂ (sloĹľková struktura a role souborĹŻ) 2.1 PovinnĂ˝ soubor manifest.json 2.2 Background skript (Service Worker) 2.3 Content skripty 2.4 UĹľivatelskĂ© rozhranĂ:
-
Popup
-
Options page
-
Side panel
-
Extension pages 2.5 Ikony, styly a web_accessible_resources
-
-
Technologie a nástroje 3.1 TypeScript, React, Svelte, Vite 3.2 Webpack/Rollup – bundlovánĂ 3.3 SpeciálnĂ frameworky (Plasmo, Bedframe)
-
AI asistovanĂ˝ vĂ˝voj 4.1 VS Code a jeho rozšĂĹ™enĂ 4.2 Cursor.com – promptovánĂ a generovánĂ 4.3 Windsurf.com – kontextová editace a ĂşdrĹľba 4.4 VyuĹľitĂ LLM pro testy, strukturu a komentáře
-
Dokumentace 5.1 JSDoc / TSDoc 5.2 Docusaurus a uĹľivatelská dokumentace 5.3 Changelog a verzovánĂ 5.4 Mermaid.js – roadmapy jako diagramy 5.5 Automatizace generovánĂ dokumentace
-
Testovánà 6.1 Jednotkové testy (Jest, Mocha) 6.2 Mockovánà chrome.* API 6.3 End-to-end testy (Puppeteer, Playwright) 6.4 Debugging přes chrome://extensions, DevTools
-
CI/CD a publikace 7.1 GitHub Actions, Semantic Release 7.2 Automatické verze, Changelog 7.3 Publikace do:
-
Chrome Web Store
-
Mozilla AMO
-
Microsoft Edge Add-ons
-
Safari App Store (základnĂ info) 7.4 OddÄ›lenĂ© verze pro Chrome a Firefox 7.5 ZIP balĂÄŤek a GitHub Releases
-
-
Vývojový workflow 8.1 Od nápadu k architektuře 8.2 Iterativnà vývoj s reloadem 8.3 Pre-review checklist 8.4 Publikace a propagace 8.5 Údržba a budoucà verze
-
Open-source pĹ™Ăklady 9.1 Bitwarden 9.2 MetaMask 9.3 Dark Reader 9.4 React DevTools 9.5 uBlock Origin Lite 9.6 Refined GitHub
2. Anatomie rozšĂĹ™enĂ
2.1 PovinnĂ˝ soubor manifest.json
KoĹ™enovĂ˝ soubor, definuje strukturu, oprávnÄ›nĂ a komponenty rozšĂĹ™enĂ:
-
name
,description
,version
-
manifest_version: 3
-
permissions
,host_permissions
-
background.service_worker
-
action
(popup) -
content_scripts
-
web_accessible_resources
Dokumentace: https://developer.chrome.com/docs/extensions/mv3/manifest/
2.2 Background skript (Service Worker)
-
Nahrazuje perzistentnĂ background skript MV2
-
Aktivuje se pouze při události
-
Běžà v odděleném vlákně
-
Nutno ruÄŤnÄ› definovat
chrome.runtime.onMessage
,onInstalled
, atd.
2.3 Content skripty
-
VstĹ™ikovány do konkrĂ©tnĂch webovĂ˝ch stránek
-
PĹ™Ăstup k DOM (ne k
chrome.*
API) -
Komunikace s background skriptem pomocĂ messagingu
2.4 UĹľivatelskĂ© rozhranĂ
-
Popup:
action.default_popup
– lehkĂ© UI pĹ™i kliknutĂ na ikonu -
Options page: definováno v
options_page
nebooptions_ui
-
Side panel: novĂ˝ koncept pĹ™ĂstupnĂ˝ pĹ™es manifest
-
Extension pages: vlastnĂ HTML s plnĂ˝m pĹ™Ăstupem k API
2.5 Ikony, styly a web_accessible_resources
-
Ikony: PNG ve velikostech 16x16, 48x48, 128x128
-
CSS/JS připojené přes
content_scripts
nebo do popupu/options -
web_accessible_resources
deklaruje pĹ™ĂstupnĂ© assety ze stránky
3. Technologie a nástroje
3.1 TypeScript, React, Svelte, Vite
-
TypeScript zvyšuje bezpečnost a čitelnost
-
UI frameworky (React/Svelte) pro popup/options
3.2 Webpack/Rollup – bundlovánĂ
-
KompilujĂ TS a modernĂ JS do formátu kompatibilnĂho s MV3
-
Výstup směřuje do
dist/
nebobuild/
3.3 Speciálnà frameworky
-
Plasmo: https://www.plasmo.com – automatizuje MV3 vĂ˝voj
-
Bedframe: strukturovanĂ˝ template pro multiplatformnĂ rozšĂĹ™enĂ
4. AI asistovaný vývoj
4.1 VS Code a jeho rozšĂĹ™enĂ
-
Lintery, formattery (Prettier, ESLint)
-
Pluginy pro TypeScript a Chrome Extensions
4.2 Cursor.com
-
Kontextový vývoj nad celým projektem pomocà AI
4.3 Windsurf.com
-
PodobnĂ© Cursoru, navĂc pĹ™ehled roadmap a Ăşloh
4.4 VyuĹľitĂ LLM
-
VygenerovánĂ základnĂho kĂłdu, anotacĂ, testĹŻ, dokumentace
-
Promptovánà a refaktoring v reálném čase
5. Dokumentace
5.1 JSDoc / TSDoc
-
Anotace funkcà a typů pro generovánà dokumentace
5.2 Docusaurus a uživatelská dokumentace
-
Generátor webové dokumentace z Markdownu
-
Možné nasazenà na GitHub Pages
5.3 Changelog a verzovánĂ
-
Conventional Commits
+semantic-release
-
Automatické generovánà CHANGELOG.md
5.4 Mermaid.js – roadmapy jako diagramy
-
Diagramy v Markdownu ÄŤi dokumentaci
5.5 Automatizace generovánà dokumentace
-
CI/CD buildy spouštà generátory dokumentace automaticky
6. TestovánĂ
6.1 Jednotkové testy (Jest, Mocha)
-
Testovánà pomocà simulace vstupů a výstupů
-
Mockovánà API (
jest-chrome
,sinon-chrome
)
6.2 Mockovánà chrome.*
API
-
NutnĂ© v prostĹ™edĂ mimo prohlĂĹľeÄŤ
6.3 End-to-end testy (Puppeteer, Playwright)
-
SimulujĂ chovánĂ uĹľivatele s nainstalovanĂ˝m rozšĂĹ™enĂm
6.4 Debugging
-
chrome://extensions
+ DevTools -
Debug popupu, content scriptu i backgroundu
7. CI/CD a publikace
7.1 GitHub Actions, Semantic Release
-
Automatické buildy, testy, generovánà ZIP, publikace
7.2 Automatické verze, Changelog
-
Z conventional commitĹŻ a tagĹŻ
7.3 Publikace do:
-
Chrome Web Store: https://chromewebstore.google.com/devconsole
-
Mozilla AMO: https://addons.mozilla.org/en-US/developers/
-
Microsoft Edge Add-ons: https://partner.microsoft.com/en-us/dashboard/microsoftedge
-
Safari App Store: publikace přes Xcode a Apple ID
7.4 Oddělené verze pro Chrome a Firefox
-
Firefox podporuje
browser.*
, Chromechrome.*
-
MoĹľnĂ© polyfily nebo build-time pĹ™epĂnánĂ
7.5 ZIP balĂÄŤek a GitHub Releases
-
Build →
zip -r ext.zip dist/
-
Release na GitHubu s changelogem
8. Vývojový workflow
8.1 Od nápadu k architektuře
-
Identifikace problĂ©mu → specifikace → návrh komponent
8.2 Iterativnà vývoj s reloadem
-
Aktivace v Chrome přes Developer Mode a
Load unpacked
8.3 Pre-review checklist
-
Bez eval, inline JS, zbyteÄŤnĂ˝ch oprávnÄ›nĂ
-
Popsaná oprávněnà v manifestu
8.4 Publikace a propagace
-
ÄŚekánĂ na schválenĂ v obchodech (nÄ›kdy nÄ›kolik dnĂ)
-
SEO optimalizace a popis rozšĂĹ™enĂ
8.5 ĂšdrĹľba a budoucĂ verze
-
Automatické aktualizace přes obchody
-
Nové feature větve, tagy, changelog
9. Open-source pĹ™Ăklady
9.1 Bitwarden
-
Bezpečné uchovávánà a autofill hesel
9.2 MetaMask
-
Crypto peněženka s vĂce vrstvami logiky
9.3 Dark Reader
-
Dynamická úprava stylů stránky do tmavého režimu
9.4 React DevTools
-
https://github.com/facebook/react/tree/main/packages/react-devtools-extensions
-
Integrace do DevTools pro laděnà React komponent
9.5 uBlock Origin Lite
-
Verze Lite je optimalizovaná pro MV3
9.6 Refined GitHub
-
Ăšpravy a vylepšenĂ GitHub UI pomocĂ modularizovanĂ˝ch funkcĂ
Building persistent Chrome Extension using Manifest V3
https://rahulnegi20.medium.com/building-persistent-chrome-extension-using-manifest-v3-198000bf1db6
How to debug chrome extension service worker for manifest v3
https://stackoverflow.com/questions/63024113/how-to-debug-chrome-extension-service-worker-for-manifest-v3
Žádné komentáře:
Okomentovat