{"id":14007137,"url":"https://github.com/WebExp0528/React-Extension-Boilerplate","last_synced_at":"2025-07-24T01:30:56.610Z","repository":{"id":39925026,"uuid":"227875972","full_name":"WebExp0528/React-Extension-Boilerplate","owner":"WebExp0528","description":"This is cross-browser(Chrome, Firefox, Opera, Edge) extension boilerplate using React, Typescript and Webpack","archived":false,"fork":false,"pushed_at":"2023-10-08T00:24:18.000Z","size":16123,"stargazers_count":64,"open_issues_count":2,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-20T23:34:44.267Z","etag":null,"topics":["babel","boilerplate","browser-extension","chrome","chrome-extension","cross-browser-extension","edge","extension","firefox","firefox-addon","firefox-extension","hot-reload","javascript","manifest-v3","opera","opera-extension","react","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/WebExp0528.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-12-13T16:09:23.000Z","updated_at":"2024-07-15T14:52:37.000Z","dependencies_parsed_at":"2023-02-08T03:45:53.673Z","dependency_job_id":null,"html_url":"https://github.com/WebExp0528/React-Extension-Boilerplate","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebExp0528%2FReact-Extension-Boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebExp0528%2FReact-Extension-Boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebExp0528%2FReact-Extension-Boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebExp0528%2FReact-Extension-Boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WebExp0528","download_url":"https://codeload.github.com/WebExp0528/React-Extension-Boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227384154,"owners_count":17772327,"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":["babel","boilerplate","browser-extension","chrome","chrome-extension","cross-browser-extension","edge","extension","firefox","firefox-addon","firefox-extension","hot-reload","javascript","manifest-v3","opera","opera-extension","react","typescript"],"created_at":"2024-08-10T10:01:51.089Z","updated_at":"2024-11-30T17:32:05.007Z","avatar_url":"https://github.com/WebExp0528.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# React Extension Boilerplate\n\nWorks for Chrome, Opera, Edge \u0026 Firefox.\n\n![preview](preview/Sep-21-2020%2015-15-55.gif)\n\n## Features\n\n\u003e- ___Supports Manifest Version 3___\n\u003e  \n\u003e- ___Write in your favorite framework - React! :)___\n\u003e  \n\u003e   Now you can create part of your extensions in React framework - as you wish ;)\n\u003e\n\u003e- ___Write once and deploy to Chrome, Opera, Edge \u0026 Firefox___\n\u003e\n\u003e   Based on `webextension-polyfill`. It also includes a tiny polyfill to bring uniformity to the APIs exposed by different browsers.\n\u003e\n\u003e- ___Live-reload___\n\u003e\n\u003e   Your changes to CSS, HTML \u0026 JS files will be relayed instantly without having\n\u003e   to manually reload the extension. This ends up saving a lot of time and\n\u003e   improving the developer experience. Based on `web-ext-reloader-mv3`\n\u003e\n\u003e- ___Newest js technology stack___\n\u003e\n\u003e   You can use `Typescript` or `Babel`\n\u003e\n\u003e- ___Profiling JS Packages___\n\u003e\n\u003e ![Profile](preview/profile-chrome.png)\n\u003e\n\u003e- ___Comfortable styles import___\n\u003e\n\u003e   With react you can load styles directly and you can use scss for styling.\n\u003e\n\u003e- ___Easily configurable and extendable___\n\u003e\n\u003e   Project use webpack so you can easily customize your project depends on your needs.\n\u003e  In config.json you can define source path for each browser\n\u003e  (if needed - default it's the same source), destination and develop directory.\n\u003e\n\u003e- ___Clean code___\n\u003e\n\u003e   Clean code is the best way for long term support for project. Boilerplate has\n\u003e  fully configured eslint with airbnb style guide.\n\u003e\n\u003e- ___Test your components!___\n\u003e\n\u003e   Project use some library which support your testing process.\n\u003e  As test runner we use karma, as testing framework mocha.\n\u003e  As support to assertion we use chai.\n\n## Run \u0026 Installation\n\n\u003e### Run \u0026 Build\n\u003e\n\u003e\u003e 1. Clone the repository `git clone https://github.com/WebExp0528/React-Extension-Boilerplate.git`. If you want to use Babel, `git clone --single-branch --branch babel https://github.com/WebExp0528/React-Extension-Boilerplate.git`\n\u003e\u003e 2. Run `npm install` or `yarn install`\n\u003e\u003e 3. Run `npm run build:{target browser}` or `yarn build:{target browser}`. EX: `yarn build:chrome`\n\u003e\u003e\n\u003e\u003e Note: You can [download](https://github.com/WebExp0528/React-Extension-Boilerplate/releases/latest) build file\n\u003e\n\u003e### Load the extension in Chrome \u0026 Opera\n\u003e\n\u003e\u003e 1. Open Chrome/Opera browser and navigate to chrome://extensions\n\u003e\u003e 2. Select \"Developer Mode\" and then click \"Load unpacked extension...\"\n\u003e\u003e 3. From the file browser, choose to `React-Extension-Boilerplate/dev/chrome`\n\u003e\u003e or \u003e (`React-Extension-Boilerplate/dev/opera`)\n\u003e\n\u003e### Load the extension in Firefox\n\u003e\n\u003e\u003e1. Open Firefox browser and navigate to about:debugging\n\u003e\u003e2. Click \"Load Temporary Add-on\" and from the file browser, choose \u003e\u003e`React-Extension-Boilerplate/dev/firefox`\n\u003e\n\u003e### Load the extension in Edge\n\u003e\n\u003e\u003e\u003chttps://docs.microsoft.com/en-us/microsoft-edge/extensions/guides/\u003eadding-and-removing-extensions\u003e\n\n## Developing\n\n\u003eThe following tasks can be used when you want to start developing the extension\n\u003eand want to enable live reload -\n\u003e`npm run dev:{target browser}` or `yarn dev:{target browser}`\n\n## Profiling\n\n\u003e Run `npm run profile:{target browser}` or `yarn profile:{target browser}`\n\n## Packaging\n\n\u003eRun `npm run build:{target browser}` or `yarn build:{target browser}` to create a zipped,\nproduction-ready extension for each browser.\nYou can then upload that to the app store.\n\n## Available Target Browsers\n\n\u003e `chrome` `firefox` `opera` `edge`\n\n---\n\nThis project is licensed under the MIT license.\n\nIf you have any questions or comments, please create a new issue.\nI'd be happy to hear your thoughts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWebExp0528%2FReact-Extension-Boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWebExp0528%2FReact-Extension-Boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWebExp0528%2FReact-Extension-Boilerplate/lists"}