{"repo":"satendra02/react-chrome-extension","free":true,"listed":false,"github":"https://github.com/satendra02/react-chrome-extension","clone":"git clone https://github.com/satendra02/react-chrome-extension.git","description":"chrome extension boilerplate with ReactJs using inject page strategy","language":"TypeScript","stars":644,"topics":["reactjs","chrome-extension","iframe","content-script","inject-page","javascript","boilerplate"],"license":"MIT","category":"saas-starters-boilerplates","readme_excerpt":"React Chrome Extension A Chrome extension boilerplate built with React 19, TypeScript and Vite , using the inject-page strategy. Stop worrying about the configuration challenges of setting up a Chrome extension — just start writing components. 📖 Eight years later: rebuilding the React Chrome extension boilerplate — how the current Vite + MV3 + React 19 setup works, and what changed from the original. The 2018 post is still the best explanation of why the inject-page strategy is worth using, but its build steps no longer apply. This project is sponsored by Recast Studio The motivation behind the boilerplate: 1. Instead of Chrome's ready-made popup, we wanted our own page injected into the DOM as a sidebar, for better UX. 2. We wanted to use React for its component model and build tooling. 3. We needed to guarantee the extension's CSS can never conflict with the host page's styles. Features - React 19 + TypeScript , strict mode, fully type-checked - Manifest V3 — the manifest is generated from manifest.config.ts , so it can never drift from package.json - Real HMR — edit a component and the injected sidebar updates in place, without reloading the extension - Iframe-isolated styles — the host page cannot leak styles in, and the extension cannot leak styles out - Lazy mounting — React only mounts on pages where the user actually opens the sidebar - Working options page and chrome.storage.sync example, wired to the sidebar - An optional popup page, ready to switch on - CI that ty","default_branch":null,"files":null,"tree":[],"storefront":"/r/satendra02","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/satendra02/react-chrome-extension/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}