- remove webpack-extension-reloader as it doesn't understand service worker - remove content_security_policy - use devtool that doesn't use eval
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.
This project has been tested with Node v20.2.0 and NPM 9.6.6
To run the extension locally, please follow these steps:
- install all dependencies with
npm install. - run
npm startto generate the/distfolder 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
export NODE_OPTIONS=--openssl-legacy-provider
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
betaRevinpackage.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