spinny:~/writing $ less monorepo-vs-polyrepo.md
12Pri praci na slozitych softwarovych projektech muze volba mezi monorepo a polyrepo vyznamne ovlivnit produktivitu tymu.34## Co jsou Monorepo a Polyrepo?56### Monorepo78**Monorepo** je jediny repozitar obsahujici zdrojovy kod pro vice projektu.910```plaintext filename="Example Monorepo Structure"11my-monorepo/12 packages/13 frontend/14 backend/15 shared/16 package.json17 turbo.json18```1920### Polyrepo2122**Polyrepo** znamena, ze kazdy projekt ma svuj vlastni oddeleny repozitar.2324```plaintext filename="Example Polyrepo Structure"25repos/26 frontend/27 package.json28 backend/29 package.json30 shared/31 package.json32```3334## Vizualni rozdil3536```mermaid37flowchart TD38 subgraph Monorepo39 A1["frontend/"]40 A2["backend/"]41 A3["shared/"]42 end43 style Monorepo fill:#e0e7ff,stroke:#6366f1,stroke-width:2px44```4546```mermaid47flowchart TD48 subgraph Polyrepo49 B1["frontend repo"]50 B2["backend repo"]51 B3["shared repo"]52 end53 style Polyrepo fill:#fee2e2,stroke:#ef4444,stroke-width:2px54```5556## Vyhody a nevyhody5758### Monorepo5960**Vyhody:**61- Usnadnuje sdileni kodu.62- Atomicky refaktoring napric projekty.63- Centralizovana sprava zavislosti.6465**Nevyhody:**66- Muze se stat tezkym s rustem kodove zakladny.67- Vyzaduje nastroje pro spravu casticnych buildu/testu (napr. Nx, Turborepo).6869### Polyrepo7071**Vyhody:**72- Kazdy tym/projekt je nezavisly.73- Snazsi sprava pro male projekty.74- Umoznuje granularni pristupove politiky.7576**Nevyhody:**77- Obtiznejsi sdileni kodu bez publikovani balicku.78- Cross-repo refaktoring je slozitejsi.79- Mozna duplikace konfiguraci.8081## Prakticky priklad: Monorepo s Turborepo8283```bash84npx create-turbo@latest85```8687```ts88// packages/utils/src/formatDate.ts89export function formatDate(date: Date): string {90 return date.toLocaleDateString('en-US');91}92```9394```ts95// apps/web/pages/index.tsx96import { formatDate } from '@myorg/utils';9798export default function Home() {99 return <div>Today is {formatDate(new Date())}</div>;100}101```102103## Kdy zvolit Monorepo?104105- Stredne velke az velke tymy pracujici na souvisejicich projektech.106- Potreba sdileni kodu a refaktoringu ve velkem meritku.107108## Kdy zvolit Polyrepo?109110- Male nebo nezavisle projekty.111- Oddelene tymy pracujici na ruznych produktech.112113## Zaver114115Neexistuje dokonale reseni pro vsechny. Volba zavisi na velikosti tymu, slozitosti projektu a potrebach spoluprace.116
:Monorepo vs Polyrepo: Kterou strategii zvolit?lines 1-116 (END) — press q to close