Files

125 lines
4.6 KiB
Markdown
Raw Permalink Normal View History

2019-12-20 22:54:32 +02:00
SimpleLogin Chrome/Firefox extension
---
2020-01-01 22:57:50 +01:00
<p>
<a href="https://chrome.google.com/webstore/detail/simplelogin-protect-your/dphilobhebphkdjbpfohgikllaljmgbn">
<img src="https://img.shields.io/chrome-web-store/rating/dphilobhebphkdjbpfohgikllaljmgbn?label=Chrome%20Extension">
</a>
<a href="https://addons.mozilla.org/en-GB/firefox/addon/simplelogin/">
<img src="https://img.shields.io/amo/rating/simplelogin?label=Firefox%20Add-On&logo=SimpleLogin">
</a>
<a href="./LICENSE">
<img src="https://img.shields.io/github/license/simple-login/app">
</a>
</p>
2019-12-01 23:49:25 +00:00
2019-12-20 22:54:32 +02:00
SimpleLogin is the **open-source** privacy-first email alias and Single Sign-On (SSO) Identity Provider.
2019-12-01 23:49:25 +00:00
2020-01-01 22:57:50 +01:00
More info on our website at https://simplelogin.io
2019-12-20 22:54:32 +02:00
The extension uses VueJS with https://github.com/Kocal/vue-web-extension boilerplate.
2022-05-20 11:17:11 +02:00
## How to get the extension
2019-12-20 22:54:32 +02:00
2022-05-20 11:17:11 +02:00
You can directly install the extension by visiting the store page for your browser:
2019-12-20 22:54:32 +02:00
2022-05-20 11:17:11 +02:00
- [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)
2019-12-20 22:54:32 +02:00
## Contributing Guide
All work on SimpleLogin Chrome/Firefox extension happens directly on GitHub.
2023-07-20 18:05:25 +02:00
This project has been tested with Node v20.2.0 and NPM 9.6.6
2019-12-20 22:54:32 +02:00
2024-04-09 15:11:43 +02:00
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.
2019-12-01 23:49:25 +00:00
2024-02-15 13:52:49 +01:00
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
````
2024-04-09 15:11:43 +02:00
## Firefox
2020-09-03 19:48:38 +02:00
2024-04-09 15:11:43 +02:00
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
2019-12-01 23:49:25 +00:00
2022-05-20 11:17:11 +02:00
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:
2021-08-03 16:37:08 +02:00
```bash
npm run prettier:write
```
2020-07-29 23:06:05 +02:00
2022-05-20 11:17:11 +02:00
## How to generate a release
2020-07-29 23:06:05 +02:00
2022-05-20 11:17:11 +02:00
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.
2021-08-03 16:41:57 +02:00
2024-04-11 23:10:29 +02:00
### 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
```
2020-07-29 23:06:05 +02:00
2022-05-20 11:17:11 +02:00
## 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
2020-07-30 17:37:46 +02:00
2022-11-08 18:18:30 +01:00
## 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`
2020-07-30 17:37:46 +02:00
```bash
npm run build:beta && npm run build-zip
2022-05-20 11:17:11 +02:00
```