Skip to content

Integrate Monorepo Nx #84

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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