Prerequisites
Before you begin, ensure you have the following installed on your system:Node.js
Version 22.14.0 or higher (< 23.6.0)
Yarn 4
Package manager (v4.12.0)
Git
Version control system
Check the
package.json file for the exact version requirements:- Node.js:
>= 22.14.0 <23.6.0 - Package Manager:
[email protected]
Installation
Install Dependencies
Install all dependencies for the entire monorepo. This command will:
- Install all npm packages
- Symlink local dependencies to one another
- Run postinstall scripts (including Husky hooks)
Running Applications
The monorepo hosts multiple Proton web applications. You can run any application using theyarn workspace command.
Available Applications
Proton Mail
Proton Calendar
Proton Drive
Proton Account
Proton VPN
Proton Pass
Proton Wallet
Proton Lumo
Start All Applications
To run all applications simultaneously with local SSO support:utilities/local-sso.
Building for Production
Build any application for production deployment:Production builds use Turbo for caching and are configured in
turbo.json. Output files are generated in the dist/ directory.Common Tasks
Type Checking
Run TypeScript type checking across the workspace:Linting
Lint code using ESLint:Running Tests
Troubleshooting
Installation Issues
Node version mismatch
Node version mismatch
Ensure you’re using the correct Node.js version:If you’re using
nvm, switch to the required version:Yarn not found
Yarn not found
The project uses Yarn 4 with Corepack. Enable Corepack:
Postinstall script fails
Postinstall script fails
If the postinstall script fails, you can run it manually:
Workspace dependencies not resolving
Workspace dependencies not resolving
Clear the Yarn cache and reinstall:
Next Steps
Project Structure
Learn about the monorepo organization and architecture
Development Workflow
Understand the development process and best practices
Contributing
Learn how to contribute to the project
Architecture
Deep dive into the technical architecture
Additional Resources
- Yarn Documentation - Official Yarn package manager docs
- Turbo Documentation - Learn about the build system
- GitHub Repository - Source code and issues