diff --git a/docs/cloc-report.md b/docs/cloc-report.md new file mode 100644 index 0000000..6977ed7 --- /dev/null +++ b/docs/cloc-report.md @@ -0,0 +1,121 @@ +# Code-Statistik — Kapteins Daagbok + +Erstellt am **31. Mai 2026** mit [cloc](https://github.com/AlDanial/cloc) v1.98. + +## Methode + +```bash +cloc . \ + --exclude-dir=node_modules,dist,.git,userfeedback,.cursor,.planning \ + --md +``` + +Ausgeschlossen: Build-Artefakte (`dist/`), Abhängigkeiten (`node_modules/`), lokales Feedback, Cursor-/Planungs-Artefakte. + +## Gesamtübersicht + +| Language | files | blank | comment | code | +| :--- | ---: | ---: | ---: | ---: | +| TypeScript | 145 | 3012 | 540 | 23599 | +| JSON | 14 | 4 | 0 | 15005 | +| CSS | 3 | 743 | 45 | 4837 | +| XML | 3 | 0 | 0 | 4302 | +| HTML | 5 | 160 | 0 | 1411 | +| Markdown | 8 | 390 | 12 | 1077 | +| JavaScript | 8 | 117 | 43 | 709 | +| Bourne Shell | 3 | 81 | 21 | 412 | +| YAML | 1 | 3 | 0 | 55 | +| Dockerfile | 2 | 20 | 21 | 39 | +| SVG | 4 | 0 | 0 | 27 | +| **SUM** | **196** | **4530** | **682** | **51473** | + +### Anwendungscode (TypeScript, JavaScript, CSS) + +Ohne JSON, GPX/XML, HTML, Docs und Assets — näher an der eigentlichen Implementierung: + +| Language | files | blank | comment | code | +| :--- | ---: | ---: | ---: | ---: | +| TypeScript | 145 | 3012 | 540 | 23599 | +| CSS | 3 | 743 | 45 | 4837 | +| JavaScript | 8 | 117 | 43 | 709 | +| **SUM** | **156** | **3872** | **628** | **29145** | + +> **Hinweis:** Der hohe JSON-Anteil (~15k Zeilen) stammt überwiegend aus i18n-Locale-Dateien (`client/src/i18n/locales/*.json`). XML (~4,3k Zeilen) sind Demo-GPX-Tracks unter `client/src/assets/demo/`. + +## Aufteilung nach Bereich + +| Bereich | Dateien | Leer | Kommentar | Code | +| :--- | ---: | ---: | ---: | ---: | +| `client/` | 154 | 3398 | 557 | 43534 | +| `server/` | 20 | 399 | 54 | 4426 | +| `scripts/` | 9 | 193 | 59 | 1065 | +| `docs/` | 8 | 418 | 0 | 2079 | + +### `client/` + +| Language | files | blank | comment | code | +| :--- | ---: | ---: | ---: | ---: | +| TypeScript | 129 | 2625 | 499 | 21291 | +| JSON | 10 | 4 | 0 | 12898 | +| CSS | 3 | 743 | 45 | 4837 | +| XML | 3 | 0 | 0 | 4302 | +| Markdown | 1 | 13 | 0 | 60 | +| JavaScript | 2 | 5 | 5 | 56 | +| HTML | 1 | 0 | 0 | 47 | +| SVG | 4 | 0 | 0 | 27 | +| Dockerfile | 1 | 8 | 8 | 16 | +| **SUM** | **154** | **3398** | **557** | **43534** | + +### `server/` + +| Language | files | blank | comment | code | +| :--- | ---: | ---: | ---: | ---: | +| TypeScript | 16 | 387 | 41 | 2308 | +| JSON | 3 | 0 | 0 | 2095 | +| Dockerfile | 1 | 12 | 13 | 23 | +| **SUM** | **20** | **399** | **54** | **4426** | + +### `scripts/` + +| Language | files | blank | comment | code | +| :--- | ---: | ---: | ---: | ---: | +| JavaScript | 6 | 112 | 38 | 653 | +| Bourne Shell | 3 | 81 | 21 | 412 | +| **SUM** | **9** | **193** | **59** | **1065** | + +## Größte Quelldateien (TypeScript & CSS) + +| Datei | blank | comment | code | +| :--- | ---: | ---: | ---: | +| `client/src/App.css` | 730 | 31 | 4430 | +| `client/src/components/LogEntryEditor.tsx` | 176 | 17 | 1929 | +| `client/src/components/UserProfilePage.tsx` | 52 | 0 | 746 | +| `client/src/components/LiveLogView.tsx` | 50 | 2 | 711 | +| `client/src/App.tsx` | 85 | 21 | 656 | +| `client/src/components/CrewForm.tsx` | 82 | 117 | 644 | +| `client/src/components/VesselForm.tsx` | 55 | 8 | 558 | +| `client/src/services/auth.ts` | 80 | 66 | 556 | +| `client/src/services/logbookBackup.ts` | 56 | 0 | 545 | +| `client/src/components/AuthOnboarding.tsx` | 49 | 25 | 542 | +| `client/src/components/StatsDashboard.tsx` | 43 | 0 | 521 | +| `client/src/components/LogbookDashboard.tsx` | 46 | 2 | 508 | +| `client/src/components/InvitationAcceptance.tsx` | 59 | 0 | 461 | +| `client/src/components/LogEntriesList.tsx` | 50 | 4 | 447 | +| `client/src/services/sync.ts` | 70 | 29 | 428 | + +## Kurzfassung + +- **~51k** physische Codezeilen gesamt (inkl. Locales, Demo-GPX, Docs). +- **~29k** Zeilen reiner Anwendungscode (TS/JS/CSS). +- **~21k** TypeScript im Client, **~2,3k** im Server. +- Größte Einzeldatei: `App.css` (~4,4k Zeilen), größte Komponente: `LogEntryEditor.tsx` (~1,9k Zeilen). + +## Report aktualisieren + +```bash +cloc . \ + --exclude-dir=node_modules,dist,.git,userfeedback,.cursor,.planning \ + --md > docs/cloc-report-raw.md +``` + +Für eine reine Markdown-Tabelle reicht `--md`; dieser Report fasst mehrere cloc-Läufe manuell zusammen.