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:
Development information
You can find more information about how the extension works and which parts it has in DEVELOPMENT.md
Contributing Guide
All work on SimpleLogin Chrome/Firefox extension happens directly on GitHub.
To run the extension locally, please follow these steps:
- install all dependencies with
npm install
. - run
npm start
to generate the/dist
folder that can be installed into Chrome.
On Firefox, it can be done via web-ext
tool from within the /dist
folder:
( cd dist/ ; web-ext run )
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:
npm run prettier:write
How to generate a release
- Increment the version in
package.json
. - Update CHANGELOG with the changes.
- Create a tag and push it to the repository. The tag name must match the version set in
package.json
. - 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.
- Upload the extension to the Chrome, Firefox and Edge stores.
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 thedist-zip/
directory. -
If you want to use it on Firefox you will need to enter the
dist/
directory and runweb-ext build
. You will find the extension in thedist/web-ext-artifacts/
directory. -
(Optional, only useful for beta build) Build beta version: change
betaRev
inpackage.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
npm run build:beta && npm run build-zip