sinanbekar / browser-extension-react-typescript-starter

🚀 React & TypeScript Starter for developing web extensions with hot reload!
MIT License
121 stars 20 forks source link
browser-extension chrome-extension edge eslint firefox firefox-add-ons google-chrome jest opera-extension prettier react redux redux-persist redux-toolkit tailwindcss typescript vitejs

Browser Extension React & TypeScript Starter

Browser Extension
React & TypeScript Starter

A cross-platform (Chrome, Firefox, Edge, Opera, Brave) web browser extension (Manifest V3 and Manifest V2) starter kit with hot reload support, built with React, Typescript, Redux, Vite, ESLint, Prettier, TailwindCSS, Jest and more!


CI   PRs welcome   MIT License

Features · Quick Start · Important Notes · License

🚀 NEW (experimental) Zustand for state management instead Redux, with webext-zustand package. You can try it now on the branch experimental-zustand

Features

Built with

[^1]: While it is fully supported and stable in most cases, hard reloading is rarely recommended.

Browser Support

Chrome Firefox Edge Opera Brave
✔ (Beta)

Quick Start

Ensure you have

Use the Template

GitHub Template

Create a repo from this template on GitHub.

or

Clone to local

If you prefer to do it manually with the cleaner git history

Note If you don't have yarn installed, run: npm install -g yarn

npx degit sinanbekar/browser-extension-react-typescript-starter my-web-extension
cd my-web-extension
git init

Then run the following:

Available Commands

Redux

You can use redux (redux-toolkit) as state manager between popup, background, content and custom pages. Read the documentation for more.

@eduardoac-skimlinks/webext-redux

Bundling

@crxjs/vite-plugin

Note This plugin powers the development side of this starter.

docs: https://crxjs.dev/vite-plugin

Special thanks to @jacksteamdev and contributors for this amazing plugin.

Contributing

This repository is following the Conventional Commits standard.

License

MIT © Sinan Bekar