spinny:~/writing $ vim monorepo-vs-polyrepo.md
1~2Osszetett szoftverprojekteknel a monorepo es polyrepo kozotti valasztas jelentosen befolyasolhatja a csapat produktivitasat.3~4## Mik azok a Monorepo es Polyrepo?5~6### Monorepo7~8A **monorepo** egyetlen repozitorium, amely tobb projekt forraskodjat tartalmazza.9~10```plaintext filename="Example Monorepo Structure"11my-monorepo/12 packages/13 frontend/14 backend/15 shared/16 package.json17 turbo.json18```19~20### Polyrepo21~22A **polyrepo** azt jelenti, hogy minden projektnek sajat kulon repozitoriuma van.23~24```plaintext filename="Example Polyrepo Structure"25repos/26 frontend/27 package.json28 backend/29 package.json30 shared/31 package.json32```33~34## Vizualis kulonbseg35~36```mermaid37flowchart TD38 subgraph Monorepo39 A1["frontend/"]40 A2["backend/"]41 A3["shared/"]42 end43 style Monorepo fill:#e0e7ff,stroke:#6366f1,stroke-width:2px44```45~46```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```55~56## Elonyok es hatranyok57~58### Monorepo59~60**Elonyok:**61- Megkonnyiti a kodmegosztast.62- Atomi refaktoralas tobb projekten at.63- Kozpontositott fuggosegkezeles.64~65**Hatranyok:**66- Nehezze valhat a kodbazis novekedesevel.67- Eszkozokot igenyel a reszleges build-ek/tesztek kezeleshez (pl. Nx, Turborepo).68~69### Polyrepo70~71**Elonyok:**72- Minden csapat/projekt fuggetlen.73- Konnyebb kezelni kis projektek eseten.74- Lehetove teszi a granularis hozzaferesi szabalyokat.75~76**Hatranyok:**77- Nehezebb kodot megosztani csomagok kiadasa nelkul.78- A cross-repo refaktoralas osszetettebb.79- Konfiguraciok lehetseges duplikacioja.80~81## Gyakorlati pelda: Monorepo Turborepo-val82~83```bash84npx create-turbo@latest85```86~87```ts88// packages/utils/src/formatDate.ts89export function formatDate(date: Date): string {90 return date.toLocaleDateString('en-US');91}92```93~94```ts95// apps/web/pages/index.tsx96import { formatDate } from '@myorg/utils';97~98export default function Home() {99 return <div>Today is {formatDate(new Date())}</div>;100}101```102~103## Mikor valaszd a Monorepo-t?104~105- Kozepes-nagy csapatok, amelyek osszefuggo projekteken dolgoznak.106- Kodmegosztasi es nagylepteku refaktoralasi igeny.107~108## Mikor valaszd a Polyrepo-t?109~110- Kis vagy fuggetlen projektek.111- Kulon csapatok kulonbozo termekeken.112~113## Osszefoglalas114~115Nincs tokeletes megoldas mindenki szamara. A valasztas a csapat meretetol, a projekt osszetettsegetol es az egyuttmukodesi igenyektol fugg.116~
NORMAL · monorepo-vs-polyrepo.md [readonly]116 lines · :q to close