Fast React Monorepos with High Quality DX – Juri Strumpflohner, React Summit 2022

Learn how to implement high-quality developer experience in fast-react monorepos, exploring tools like NX, CI/CD setup, and code generators to streamline task execution and maintenance.

Key takeaways
  • Monorepos are single Git repositories with multiple distinct projects, and polyrepos are multiple Git repositories with multiple projects.
  • Key factors to consider when implementing monorepos are:
    • Distributed task execution
    • Distributed caching
    • CI/CD setup
    • Developer experience (DX)
    • Collaboration within monorepos
  • DX is crucial in monorepos, with features such as:
    • Visualization of project graphs
    • Tagging for easy maintenance
    • Beautiful output
    • High-quality tooling
  • Tools like NX can help with monorepo setup and maintenance.
  • CI/CD setup is essential for monorepos, with features such as:
    • Parallelization of tasks
    • Distributed caching
    • Fast task execution
    • Visualization of task execution
  • Code generators can help with monorepo maintenance.
  • Setting up an X with pre-configured settings can simplify monorepo setup.
  • Distributed task execution and caching can speed up task execution.
  • Visualizing project graphs and understanding dependencies can help with monorepo maintenance.
  • Monorepos can be used to share libraries and common APIs between teams and domains.
  • Polyrepos can be used to split large monorepos into smaller ones for easier maintenance.
  • Code generators can help with creating maintainable code.
  • ESLint and Prettier configuration can be set up for monorepos.
  • NXCloud provides distributed caching and task execution.
  • CI/CD setup should be adjusted to the needs of the monorepo.
  • Education and training is important for successful monorepo implementation.