This commit adds Nx integration to @bitwarden/common using the nx:run-script executor as a temporary facade. This approach allows us to get 'nx build @bitwarden/common' commands working immediately without requiring architectural changes to resolve circular dependencies and cross-library coupling. IMPORTANT: This is intentionally a hack solution. The real benefits of Nx (proper dependency boundaries, build optimization, accurate dependency graph, tree-shaking friendly architecture) require fixing the underlying circular dependencies between @bitwarden/common, state-test-utils, and key-management libraries first. When properly implemented, the project.json will likely use: - @nx/js:tsc executor instead of nx:run-script - Proper dependsOn configuration for build dependencies - Clean sourceRoot and include/exclude patterns - Elimination of the ../key-management/src/index.ts cross-library include - Resolution of the circular dependency chain Even as a facade, this gives us immediate workflow benefits: unified 'nx build' commands across the monorepo, Nx caching and parallelization for existing scripts, and dependency graph visualization. It also establishes the project.json structure and Nx patterns we'll need when we tackle the architectural refactoring. This lets the team start using Nx commands today while we work on the harder problem of untangling library dependencies in the background.
Bitwarden Client Applications
This repository houses all Bitwarden client applications except the mobile applications (iOS | android).
Please refer to the Clients section of the Contributing Documentation for build instructions, recommended tooling, code style tips, and lots of other great information to get you started.
Related projects:
- bitwarden/server: The core infrastructure backend (API, database, Docker, etc).
- bitwarden/ios: Bitwarden iOS Password Manager & Authenticator apps.
- bitwarden/android: Bitwarden Android Password Manager & Authenticator apps.
- bitwarden/directory-connector: A tool for syncing a directory (AD, LDAP, Azure, G Suite, Okta) to an organization.
We're Hiring!
Interested in contributing in a big way? Consider joining our team! We're hiring for many positions. Please take a look at our Careers page to see what opportunities are currently open as well as what it's like to work at Bitwarden.
Contribute
Code contributions are welcome! Please commit any pull requests against the main branch. Learn more about how to contribute by reading the Contributing Guidelines. Check out the Contributing Documentation for how to get started with your first contribution.
Security audits and feedback are welcome. Please open an issue or email us privately if the report is sensitive in nature. You can read our security policy in the SECURITY.md file.
