Advice on migrating from multirepo to monorepo

This page summarizes the projects mentioned and recommended in the original post on /r/ExperiencedDevs

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • degit

    Straightforward project scaffolding

    Instead of starting from the idea of adopting a monorepo, you probably want to start from your pain points and work backwards from there. Standardizing on initial setup can be done w/ scaffolding tools (e.g. degit). Standardizing on configuration can be done w/ libraries (we do this for eslint, jest, etc). After-the-fact alignment can be done w/ codemods (e.g. jscodeshift) and PR tracking tools (IIRC sourcegraph has an offering like this).

  • jazelle

    Incremental, cacheable builds for large Javascript monorepos using Bazel

    But we also have teams working full time on monorepo stuff. I wrote tooling myself to bridge some of the gaps in the web ecosystem (e.g. we integrate w/ bazel to compute build graphs), but one still needs to integrate that w/ CI. Our solution uses dynamic pipeline generation, spot instances for elastic compute power, a bunch of crazy optimizations, a test flakiness detection system, a merge queue system (because we have hundreds of commits landing daily and HEAD must be green at all times)... A lot of this has no turn-key open source / commercial offerings and you're gonna need to invest time into integrations w/ the ones that do. Monorepos can be quite a commitment.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts