ElForastero / react-browser-extension-boilerplate

πŸŽ‰ React / Preact X browser extension boilerplate for the most popular browsers (Chrome, Firefox, Opera, new Edge and other Chromium-based browsers)
MIT License
124 stars 26 forks source link
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

React Web Extension Boilerplate

Documentation Maintenance License: MIT

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.

React Web Extension Boilerplate

πŸŽ‰ Features

πŸ‘¨β€πŸ’» Examples

You can look at:

There 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.

πŸ“ Description

It's built with preact and preact-compat which allows you to switch between react and preact.

Content and styles which are injected directly to the page, are isolated inside Shadow DOM.

🏁 Install

git clone git@github.com:ElForastero/react-browser-extension-boilerplate.git <YOUR_PROJECT_NAME>

πŸš€ Usage

yarn watch

Runs webpack in watch mode. Automatically reloads the page after changes in files. Thanks to webpack-extension-reloader.

yarn build

Builds the extension in production mode. This version can be shipped to the store.

How to increment version

Use npm 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.

For example:

npm version patch

This will increase your patch package.json version. During the next build output manifest file will have the same version.

⚠️ Content Security Policy (CSP)

"unsafe-eval" in directive "script-src" and "connect-src" are needed for auto reloading, and should be removed from production manifest.json.

πŸ’» Useful links

🀝 Show your support

Give a ⭐️ if this project helped you!

πŸ“ License

Copyright Β© 2019 Eugene Dzhumak.
This project is MIT licensed.


This README was generated with ❀️ by readme-md-generator