Monorepo hosting the proton web clients
Find a file
MargeBot db44606ce3 Merge branch 'DRVWEB-5047-select-in-rename-modal' into 'main'
[DRVWEB-5047] Ensure finename extension is not selected in rename modal

See merge request web/clients!21674
2026-01-09 18:59:30 +00:00
.github/ISSUE_TEMPLATE Format all yml files 2022-08-23 16:09:24 +00:00
.husky Migrate husky to v9 2024-02-07 20:00:16 +00:00
.yarn Update all non-major dependencies 2025-11-28 11:26:35 +00:00
applications [DRVWEB-5047] Ensure finename extension is not selected in rename modal 2026-01-09 18:59:30 +00:00
packages Replace YouTube link with Proton link 2026-01-09 16:55:53 +00:00
.dockerignore Add turbo CI 2024-07-01 09:07:37 +02:00
.editorconfig Monorepo migration 2021-06-26 18:06:21 +02:00
.gitattributes INWEB-550: Add apps labels to MR based on changes 2025-11-13 15:04:27 +00:00
.gitignore chore: cleanup .gitignore config setup 2025-08-04 10:18:41 +00:00
.grype.yaml MAILWEB-6141: Add DevSecOps to web clients git repo 2025-04-01 13:24:07 +00:00
.margebot.yml ci: update margebot fast-track 2025-11-03 17:49:40 +00:00
.prettierignore INWEB-411: Add HTML snapshot testing to mail-renderer 2025-09-25 14:18:51 +00:00
.semgrepignore MAILWEB-6141: Add DevSecOps to web clients git repo 2025-04-01 13:24:07 +00:00
.stylelintignore Fix contrast for read email items 2022-09-15 12:49:18 +00:00
.stylelintrc Format .lints‎tagedrc‎ and .style‎lintrc‎ files 2022-08-14 15:47:48 +01:00
.yarnrc.yml Update all non-major dependencies 2025-11-28 11:26:35 +00:00
findApp.config.mjs Fix lockfile 2024-05-24 15:11:38 +00:00
LICENSE Monorepo migration 2021-06-26 18:06:21 +02:00
lint-staged.config.mjs chore: add --no-warn-ignored to the global esling config 2025-10-20 10:00:35 +00:00
package.json Update all non-major dependencies 2025-12-24 13:32:39 +00:00
prettier.config.mjs Extract prettier config to dedicated package for proper extensions 2025-09-04 10:59:04 +00:00
README.md doc: add info about versioning from CLI 2025-10-17 15:42:28 +00:00
renovate.json chore: renovate should ignore the snapcraft image, there are known issues with newer versions 2025-11-14 11:24:42 +00:00
tsconfig.base.json Remove trailing slash from include in tsconfig.base.json 2025-12-10 11:41:49 +01:00
tsconfig.webpack.json Target esnext in tsconfig.json 2024-11-27 18:30:11 +00:00
turbo.json ci: tweak memory allocation for the build step and turbo 2025-05-16 15:41:04 +00:00
yarn.lock Fix streaming seeking and handling parallel requests 2026-01-08 08:16:21 +00:00

Web clients

This project is a monorepo hosting the Proton web clients. It includes the web applications, their dependencies & shared modules as well as all tooling surrounding development of the web clients (as well as some additional miscellaneous things).

  • Proton Mail
  • Proton Calendar
  • Proton Drive
  • Proton Account
  • Proton VPN
  • Proton Pass
  • Proton Wallet
  • Proton Lumo

Technically, this monorepo is based on Yarn & Yarn Workspaces, with unified versioning for all packages inside.

Getting Started

Prerequisites

You'll need to have the following environment to work with this project:

  • Node.js LTS
  • Yarn 4
  • git

See package.json for specific version requirements.

Installation

# Clone the project
git clone https://github.com/ProtonMail/WebClients.git
git clone git@github.com:ProtonMail/WebClients.git

# Install all dependencies for the entire monorepo & symlink
# local dependents to one another
yarn install

# Run web clients by running proton-<package-name>
# Example: proton mail web client
yarn workspace proton-mail start

For additional details on how to interact with the monorepo, see the yarn docs for reference.

How to version an application manually

While being on the main branch for a clean release.

From the root folder, run yarn workspace @proton/version run version --applications proton-X --version x.x.x.x

Help us to translate the project

You can learn more about it on our blog post.

License

The code and data files in this distribution are licensed under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See https://www.gnu.org/licenses/ for a copy of this license.

See LICENSE file