This project is generated by the boilerplate https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite
Below is part of the readme of the boilerplate for my reference.
- React 18
- TypeScript
- Jest
- React Testing Library
- Vite
- SASS
- Twind
- Prettier
- ESLint
- Husky
- Commitlint
- Conventional Commits
- Chrome Extension Manifest Version 3
- HRR(Hot Rebuild & Refresh/Reload)
- Clone this repository.
- Change
name
anddescription
in package.json => Auto synchronize with manifest - Install pnpm globally:
npm install -g pnpm
(check your node version >= 16.6, recommended >= 18) - Run
pnpm install
And next, depending on the needs:
- Run:
- Dev:
pnpm dev
ornpm run dev
- Prod:
pnpm build
ornpm run build
- Dev:
- Open in browser -
chrome://extensions
- Check -
Developer mode
- Find and Click -
Load unpacked extension
- Select -
dist
folder
- Run:
- Dev:
pnpm dev:firefox
ornpm run dev:firefox
- Prod:
pnpm build:firefox
ornpm run build:firefox
- Dev:
- Open in browser -
about:debugging#/runtime/this-firefox
- Find and Click -
Load Temporary Add-on...
- Select -
manifest.json
fromdist
folder
Remember in firefox you add plugin in temporary mode, that's mean it's disappear after close browser, you must do it again, on next launch.
Override Chrome pageschrome_url_overrides.newtab
in
manifest.json
Browser actionsaction.default_popup
in
manifest.json
Devtoolsdevtools_page
in manifest.json
Backgroundbackground.service_worker
in
manifest.json
Content Scriptcontent_scripts[0]
in
manifest.json
Optionsoptions_page
in manifest.json