Skip to content

Integrate Monorepo Nx #84

@illMadeCoder

Description

@illMadeCoder

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

Metadata

Metadata

Assignees

Labels

role: DevOpsWork for the DevOps role.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions