{"id":29630848,"url":"https://github.com/ElForastero/react-browser-extension-boilerplate","last_synced_at":"2025-07-21T11:06:40.802Z","repository":{"id":54696274,"uuid":"190629091","full_name":"ElForastero/react-browser-extension-boilerplate","owner":"ElForastero","description":"🎉 React / Preact X browser extension boilerplate for the most popular browsers (Chrome, Firefox, Opera, new Edge and other Chromium-based browsers)","archived":false,"fork":false,"pushed_at":"2021-02-07T09:00:49.000Z","size":982,"stargazers_count":126,"open_issues_count":2,"forks_count":26,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-23T16:39:30.786Z","etag":null,"topics":["boilerplate","browser-extension","chrome-extension","chrome-extension-react","chrome-extension-starter","firefox-extension","opera-extension","preact-browser-extension","preact-chrome-extension","react-browser-extension","react-browser-extension-boilerplate","react-chrome-extension"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ElForastero.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-06T18:18:29.000Z","updated_at":"2025-06-16T07:41:10.000Z","dependencies_parsed_at":"2022-08-14T00:20:15.707Z","dependency_job_id":null,"html_url":"https://github.com/ElForastero/react-browser-extension-boilerplate","commit_stats":null,"previous_names":["elforastero/preact-browser-extension-boilerplate"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ElForastero/react-browser-extension-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElForastero%2Freact-browser-extension-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElForastero%2Freact-browser-extension-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElForastero%2Freact-browser-extension-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElForastero%2Freact-browser-extension-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ElForastero","download_url":"https://codeload.github.com/ElForastero/react-browser-extension-boilerplate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElForastero%2Freact-browser-extension-boilerplate/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266287824,"owners_count":23905461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","browser-extension","chrome-extension","chrome-extension-react","chrome-extension-starter","firefox-extension","opera-extension","preact-browser-extension","preact-chrome-extension","react-browser-extension","react-browser-extension-boilerplate","react-chrome-extension"],"created_at":"2025-07-21T11:06:39.754Z","updated_at":"2025-07-21T11:06:40.792Z","avatar_url":"https://github.com/ElForastero.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eReact Web Extension Boilerplate\u003c/h1\u003e\n\u003cp\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000\" /\u003e\n  \u003ca href=\"https://github.com/ElForastero/react-browser-extension-boilerplate#readme\"\u003e\n    \u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg\" target=\"_blank\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ElForastero/react-browser-extension-boilerplate/graphs/commit-activity\"\u003e\n    \u003cimg alt=\"Maintenance\" src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg\" target=\"_blank\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ElForastero/react-browser-extension-boilerplate/blob/master/LICENSE\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" target=\"_blank\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003e This project aims to provide a simple boilerplate for writing browser extensions for the most popular browsers, such as Chrome, Firefox, Opera, new Edge and other Chromium-based browsers.\n\n![React Web Extension Boilerplate](logo.png)\n\n## 🎉 Features\n\n- **Preact X or React** (you can switch them easily in webpack config)\n- **Shadow DOM** for injected content\n- **Styled-Components**\n- **Auto reloading** (there's no need to manually reload extension)\n- Ready-to-go setup with **internationalization**\n\n## 👨‍💻 Examples\n\nYou can look at:\n\n- [Framer](https://github.com/ElForastero/framer): a todo list extension as an example of using this boilerplate.\n- [Good Block](https://github.com/LucasAndrad/block-sites-react-extension): an extension to block websites, also using this boilerplate.\n- [ScreenplaySubs](https://github.com/SMASH-CUT/extension): an extension to watch movies in Netflix with screenplays, in sync. Also using this boilerplate.\n\nThere are no straight restrictions on how to use it, or any limitations on tools and technologies. Think of it as a regular react application with some special properties.\n\n## 📝 Description\n\nIt's built with `preact` and `preact-compat` which allows you to switch between `react` and `preact`.\n\nContent and styles which are injected directly to the page, are isolated inside Shadow DOM.\n\n## 🏁 Install\n\n```sh\ngit clone git@github.com:ElForastero/react-browser-extension-boilerplate.git \u003cYOUR_PROJECT_NAME\u003e\n```\n\n## 🚀 Usage\n\n```sh\nyarn watch\n```\n\nRuns webpack in watch mode. Automatically reloads the page after changes in files. Thanks to [webpack-extension-reloader](https://github.com/rubenspgcavalcante/webpack-extension-reloader).\n\n```sh\nyarn build\n```\n\nBuilds the extension in production mode. This version can be shipped to the store.\n\n## How to increment version\n\nUse [npm version](https://docs.npmjs.com/cli/version) cli command to bump a version of your package.json. The version of manifest will stay in sync with version specified in package.json.\n\nFor example:\n\n```sh\nnpm version patch\n```\n\nThis will increase your patch package.json version. During the next build output manifest file will have the same version.\n\n## ⚠️ Content Security Policy (CSP)\n\"unsafe-eval\" in directive \"script-src\" and \"connect-src\" are needed for auto reloading, and should be removed from production manifest.json.\n\n## 💻 Useful links\n\n- [Manifest File Format](https://developer.chrome.com/apps/manifest)\n- [Content Security Policy (CSP)](https://developer.chrome.com/extensions/contentSecurityPolicy)\n- [Chrome i18n](https://developer.chrome.com/extensions/i18n)\n- [Porting a Google Chrome extension to Firefox](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension)\n- [Firefox add-ons examples](https://github.com/mdn/webextensions-examples)\n- [exthouse - tool for performance testing](https://github.com/treosh/exthouse)\n- [webext-redux - a set o utilities to use redux in web extensions](https://github.com/tshaddix/webext-redux)\n- [webpack-manifest-version-sync-plugin](https://github.com/ElForastero/webpack-manifest-version-sync-plugin)\n\n## 🤝 Show your support\n\nGive a ⭐️ if this project helped you!\n\n## 📝 License\n\nCopyright © 2019 [Eugene Dzhumak](https://github.com/ElForastero).\u003cbr /\u003e\nThis project is [MIT](https://github.com/ElForastero/react-browser-extension-boilerplate/blob/master/LICENSE) licensed.\n\n***\n_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FElForastero%2Freact-browser-extension-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FElForastero%2Freact-browser-extension-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FElForastero%2Freact-browser-extension-boilerplate/lists"}