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

https://github.com/simple-login/browser-extension

SimpleLogin Chrome/ Firefox extension
https://github.com/simple-login/browser-extension

chrome-extension firefox-extension

Last synced: about 1 year ago
JSON representation

SimpleLogin Chrome/ Firefox extension

Awesome Lists containing this project

README

          

SimpleLogin Chrome/Firefox extension
---








SimpleLogin is the **open-source** privacy-first email alias and Single Sign-On (SSO) Identity Provider.

More info on our website at https://simplelogin.io

The extension uses VueJS with https://github.com/Kocal/vue-web-extension boilerplate.

## How to get the extension

You can directly install the extension by visiting the store page for your browser:

- [Google Chrome / Brave / Opera / Chromium-based](https://chrome.google.com/webstore/detail/simpleloginreceive-send-e/dphilobhebphkdjbpfohgikllaljmgbn)
- [Mozilla Firefox](https://addons.mozilla.org/firefox/addon/simplelogin/)
- [Microsoft Edge](https://microsoftedge.microsoft.com/addons/detail/simpleloginreceive-sen/diacfpipniklenphgljfkmhinphjlfff)

## Development information

You can find more information about how the extension works and which parts it has in [DEVELOPMENT.md](./DEVELOPMENT.md)

## Contributing Guide

All work on SimpleLogin Chrome/Firefox extension happens directly on GitHub.

This project has been tested with Node v20.2.0 and NPM 9.6.6

To run the extension locally, please first install all dependencies with `npm install`.

## Chrome

Run `npm start` to generate the `/dist` folder that can be installed into Chrome.

In case of `Error: error:0308010C:digital envelope routines::unsupported` error, the workaround is to accept OPEN SSL by running this command before running `npm start`

```bash
export NODE_OPTIONS=--openssl-legacy-provider
````

## Firefox

Run `npm run start:firefox` to generate the `/dist` folder which can then be installed on Firefox, more info on https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension#installing

## Code formatting

The code is formatted using `prettier`, make sure to run it before creating the commit, otherwise the GitHub lint workflow will mark the check as not passing:

```bash
npm run prettier:write
```

## How to generate a release

1. Increment the version in `package.json`.
2. Update CHANGELOG with the changes.
3. Create a tag and push it to the repository. The tag name must match the version set in `package.json`.
4. Wait until the CI process generates the extension ZIP and uploads it to GitHub. You will be able to find the generated zip as an artifact attached to the [GitHub release](https://github.com/simple-login/browser-extension/releases).
5. Upload the extension to the Chrome, Firefox and Edge stores.

### Firefox

For Firefox, the code source must be submitted too. To faciliate the review process, the code source can be generated using the following script

For beta version:

```bash
# create the code source for firefox reviewer
rm -rf code-for-reviewer && mkdir code-for-reviewer

# copy the minimum files
cp -r src LICENSE CHANGELOG scripts package.json package-lock.json webpack.config.js .dev.sample.json .babelrc code-for-reviewer

# override the readme
cp reviewers/firefox-beta.md code-for-reviewer/README.md
```

For prod version

```bash
# create the code source for firefox reviewer
rm -rf code-for-reviewer && mkdir code-for-reviewer

# copy the minimum files
cp -r src LICENSE CHANGELOG scripts package.json package-lock.json webpack.config.js .dev.sample.json .babelrc code-for-reviewer

# override the readme
cp reviewers/firefox.md code-for-reviewer/README.md
```

## How to build the extension locally

In order to build the extension yourself, please follow these steps:

- Make sure you have the dependencies installed and up-to-date with `npm install`.
- Run the build process with `npm run build`.
- Create the zip package with `npm run build-zip`. You will find the extension in the `dist-zip/` directory.
- If you want to use it on Firefox you will need to enter the `dist/` directory and run `web-ext build`. You will find the extension in the `dist/web-ext-artifacts/` directory.

- (Optional, only useful for beta build) Build beta version: change `betaRev` in `package.json`, then generate zip file using

## How to build a version for Mac

For the development, you can run `npm run start:mac` for the Mac app.

For the production release, `npm run build:mac`

```bash
npm run build:beta && npm run build-zip
```