How do you manage one frontend codebase shared by multiple teams? #7442
Unanswered
giorgiPapava
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Looking for advice from teams who've been here. We have a React + TypeScript + Refine + Vite admin panel hosting 5 separate apps ("gateways") in a single repo / single Vite build. Each gateway has its own backend API, its own team, and is fairly self-contained:
productionReadyflag hides beta gateways from prodIt works, but with 5 teams in one repo we keep hitting friction:
1. Releases / branching — All teams commit to a shared
testbranch, so commits get mixed across gateways. To ship one gateway we cut a release branch and cherry-pick that gateway's commits out of the mix. Fragile and manual. How do you ship independently on a shared trunk?2. Independent deploys — Single build means one team's change rebuilds/redeploys everyone. We've prototyped Module Federation / micro-frontends, but it's a big jump in complexity. Worth it for 5 teams, or overkill?
3. Ownership boundaries — No CODEOWNERS yet, any team can touch any gateway. CODEOWNERS, separate packages, enforced monorepo boundaries — what worked?
4. Shared code coupling — Our registry has circular-dependency landmines, and we're mid-migration to a shared npm package. Monorepo (pnpm/Nx/Turborepo) vs. published package vs. just discipline — what scaled?
Core question: for ~5 teams each owning a domain app in one frontend, would you stay monolith + good module boundaries, go monorepo with separate packages, or full micro-frontend? What did you regret?
Thanks 🙏
All reactions