-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Title: Adopt Nx for Monorepo Management and CI/CD Optimization
Description:
To streamline development across our Express API backend and React Native frontend, and to support a scalable, maintainable, and performant CI/CD pipeline, I propose integrating Nx as our monorepo build system and task orchestrator.
Justification:
Integrated Monorepo Support: Nx is purpose-built for managing multiple applications and libraries within a single repository. It allows us to co-locate our Express APIs and React Native app while maintaining clear boundaries and ownership.
Dependency Graph and Affected Commands: Nx intelligently tracks project dependencies and can run tasks (e.g., builds, tests, linting) only on affected projects. This will significantly reduce CI/CD times and make the developer experience more efficient.
Built-in Support for Our Stack: Nx has plugins for both Node.js (Express) and React Native, offering out-of-the-box support for build, serve, test, and lint tasks tailored to each technology.
Consistent Dev Workflow: With generators, executors, and powerful caching, Nx standardizes common tasks and reduces the need for custom scripts, which promotes consistency across teams.
CI/CD Ready: Nx is designed with CI/CD pipelines in mind, offering remote caching, affected-only workflows, and easy integration with GitHub Actions and other CI providers.
Action Items:
Integrate Nx into the repo as the monorepo orchestrator
Configure workspaces for Express API and React Native app
Set up basic build/test/lint targets
Begin transitioning existing scripts into Nx targets