Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bambooom/focus-tomato

WIP
https://github.com/bambooom/focus-tomato

Last synced: about 2 months ago
JSON representation

WIP

Awesome Lists containing this project

README

        

> This project is generated by the boilerplate https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite

Below is part of the readme of the boilerplate for my reference.

## Table of Contents

- [Features](#features)
- [Installation](#installation)
- [Procedures](#procedures)
- [Chrome](#chrome)
- [Firefox](#firefox)
- [Pages](#pages)
- [Examples](#examples)
- [Documents](#documents)

## Features

- [React 18](https://reactjs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [Jest](https://jestjs.io/)
- [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/)
- [Vite](https://vitejs.dev/)
- [SASS](https://sass-lang.com/)
- [Twind](https://twind.dev/)
- [Prettier](https://prettier.io/)
- [ESLint](https://eslint.org/)
- [Husky](https://typicode.github.io/husky/getting-started.html#automatic-recommended)
- [Commitlint](https://commitlint.js.org/#/guides-local-setup?id=install-commitlint)
- [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary)
- [Chrome Extension Manifest Version 3](https://developer.chrome.com/docs/extensions/mv3/intro/)
- HRR(Hot Rebuild & Refresh/Reload)

## Installation

### Procedures:

1. Clone this repository.
2. Change `name` and `description` in package.json => **Auto synchronize with manifest**
3. Install pnpm globally: `npm install -g pnpm` (check your node version >= 16.6, recommended >= 18)
4. Run `pnpm install`

And next, depending on the needs:

### For Chrome:

1. Run:
- Dev: `pnpm dev` or `npm run dev`
- Prod: `pnpm build` or `npm run build`
2. Open in browser - `chrome://extensions`
3. Check - `Developer mode`
4. Find and Click - `Load unpacked extension`
5. Select - `dist` folder

### For Firefox:

1. Run:
- Dev: `pnpm dev:firefox` or `npm run dev:firefox`
- Prod: `pnpm build:firefox` or `npm run build:firefox`
2. Open in browser - `about:debugging#/runtime/this-firefox`
3. Find and Click - `Load Temporary Add-on...`
4. Select - `manifest.json` from `dist` folder

***Remember in firefox you add plugin in temporary mode, that's mean it's disappear after close browser, you must do it again, on next launch.***

## Pages

### New Tab

[Override Chrome pages](https://developer.chrome.com/docs/extensions/mv3/override/)
`chrome_url_overrides.newtab` in
manifest.json

### Popup

[Browser actions](https://developer.chrome.com/docs/extensions/reference/browserAction/)
`action.default_popup` in
manifest.json

### Devtools

[Devtools](https://developer.chrome.com/docs/extensions/mv3/devtools/#creating)
`devtools_page` in manifest.json

### Background

[Background](https://developer.chrome.com/docs/extensions/mv3/background_pages/)
`background.service_worker` in
manifest.json

### ContentScript

[Content Script](https://developer.chrome.com/docs/extensions/mv3/content_scripts/)
`content_scripts[0]` in
manifest.json

### Options

[Options](https://developer.chrome.com/docs/extensions/mv3/options/)
`options_page` in manifest.json

## Examples

- https://github.com/Jonghakseo/drag-gpt-extension
- https://github.com/Jonghakseo/pr-commit-noti
- https://github.com/ariburaco/chatgpt-file-uploader-extended

## Documents

- [Vite Plugin](https://vitejs.dev/guide/api-plugin.html)
- [ChromeExtension](https://developer.chrome.com/docs/extensions/mv3/)
- [Rollup](https://rollupjs.org/guide/en/)
- [Rollup-plugin-chrome-extension](https://www.extend-chrome.dev/rollup-plugin)