mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 01:01:09 +02:00
Applied formatting to 1487+ files using pnpm format:write - TypeScript/JavaScript files - Svelte components - Astro pages - JSON configs - Markdown docs 13 files still need manual review (Astro JSX comments)
109 lines
4.7 KiB
Markdown
109 lines
4.7 KiB
Markdown
# Development Scripts
|
|
|
|
Diese Dokumentation beschreibt die verfügbaren Entwicklungsbefehle im Manacore Monorepo.
|
|
|
|
## Übersicht
|
|
|
|
Das Monorepo nutzt [Turborepo](https://turbo.build/) für parallele Builds und intelligentes Caching. Alle Befehle werden über `pnpm` ausgeführt.
|
|
|
|
## Globale Befehle
|
|
|
|
| Befehl | Beschreibung |
|
|
| ------------------- | ------------------------------------------------- |
|
|
| `pnpm dev` | Startet alle Apps (Web, Mobile, Landing, Backend) |
|
|
| `pnpm build` | Baut alle Packages und Apps |
|
|
| `pnpm test` | Führt alle Tests aus |
|
|
| `pnpm lint` | Führt Linting für alle Packages aus |
|
|
| `pnpm type-check` | TypeScript-Typprüfung für alle Packages |
|
|
| `pnpm clean` | Bereinigt Build-Artefakte |
|
|
| `pnpm format` | Formatiert alle Dateien mit Prettier |
|
|
| `pnpm format:check` | Prüft Formatierung ohne Änderungen |
|
|
|
|
## App-Typ Befehle
|
|
|
|
Diese Befehle starten alle Apps eines bestimmten Typs gleichzeitig:
|
|
|
|
| Befehl | Beschreibung | Apps |
|
|
| ------------------ | -------------------------- | ------------------------------------------ |
|
|
| `pnpm dev:web` | Startet alle Web-Apps | maerchenzauber, manacore, manadeck, memoro |
|
|
| `pnpm dev:landing` | Startet alle Landing Pages | maerchenzauber, manacore, manadeck, memoro |
|
|
| `pnpm dev:mobile` | Startet alle Mobile-Apps | maerchenzauber, manacore, manadeck, memoro |
|
|
|
|
### Beispiel
|
|
|
|
```bash
|
|
# Alle Web-Apps starten (SvelteKit)
|
|
pnpm dev:web
|
|
|
|
# Alle Landing Pages starten (Astro)
|
|
pnpm dev:landing
|
|
|
|
# Alle Mobile-Apps starten (Expo)
|
|
pnpm dev:mobile
|
|
```
|
|
|
|
## Projekt-spezifische Befehle
|
|
|
|
Diese Befehle starten ein komplettes Projekt mit allen zugehörigen Apps und Dependencies:
|
|
|
|
| Befehl | Beschreibung |
|
|
| ------------------------- | ------------------------------------------------------ |
|
|
| `pnpm maerchenzauber:dev` | Startet Maerchenzauber (Backend, Web, Mobile, Landing) |
|
|
| `pnpm manacore:dev` | Startet Manacore (Web, Mobile, Landing) |
|
|
| `pnpm manadeck:dev` | Startet Manadeck (Web, Mobile, Landing) |
|
|
| `pnpm memoro:dev` | Startet Memoro (Web, Mobile, Landing) |
|
|
|
|
## Turbo Filter
|
|
|
|
Für erweiterte Kontrolle kannst du Turbo-Filter direkt verwenden:
|
|
|
|
```bash
|
|
# Einzelne App starten
|
|
pnpm turbo run dev --filter=@storyteller/web
|
|
|
|
# Mehrere Apps kombinieren
|
|
pnpm turbo run dev --filter=manacore-web --filter=memoro-web
|
|
```
|
|
|
|
### Package-Namen Referenz
|
|
|
|
Da die Package-Namen im Monorepo unterschiedlich sind, hier eine Übersicht:
|
|
|
|
| Projekt | Web | Landing | Mobile | Backend |
|
|
| -------------- | ------------------ | ---------------------- | --------------------- | ---------------------- |
|
|
| maerchenzauber | `@storyteller/web` | `@storyteller/landing` | `@storyteller/mobile` | `@storyteller/backend` |
|
|
| manacore | `manacore-web` | `manacore-landing` | `manacore` | - |
|
|
| manadeck | `web` | `landing` | `manadeck` | - |
|
|
| memoro | `memoro-web` | `memoro-landing` | `memoro` | - |
|
|
|
|
### Filter-Syntax
|
|
|
|
| Pattern | Beschreibung |
|
|
| --------------------- | ------------------------------ |
|
|
| `--filter=name` | Exakte Package-Übereinstimmung |
|
|
| `--filter=name...` | Package und alle Dependencies |
|
|
| `--filter='@scope/*'` | Alle Packages im Scope |
|
|
|
|
## Port-Zuweisungen
|
|
|
|
Wenn mehrere Apps gleichzeitig laufen, verwenden sie unterschiedliche Ports:
|
|
|
|
| App-Typ | Projekt | Standard-Port |
|
|
| ------- | -------------- | ------------- |
|
|
| Web | maerchenzauber | 5173 |
|
|
| Web | manacore | 5174 |
|
|
| Web | manadeck | 5175 |
|
|
| Web | memoro | 5176 |
|
|
| Landing | maerchenzauber | 4321 |
|
|
| Landing | manacore | 4322 |
|
|
| Landing | manadeck | 4323 |
|
|
| Landing | memoro | 4324 |
|
|
| Backend | maerchenzauber | 3000 |
|
|
|
|
_Hinweis: Die tatsächlichen Ports können je nach Konfiguration variieren._
|
|
|
|
## Tipps
|
|
|
|
1. **Schnelleres Starten**: Nutze `dev:web` statt `dev` wenn du nur an Web-Apps arbeitest
|
|
2. **Parallele Entwicklung**: Turbo führt alle Tasks parallel aus und nutzt Caching
|
|
3. **Selektives Bauen**: Nutze Filter um nur relevante Packages zu bauen
|