- beschreibt das Versionskonzept für package.json, package-lock.json und .env.* - erklärt die Verwendung von bumpVersion.js und Husky-Hooks - hilft neuen und bestehenden Entwicklern, konsistent zu arbeiten - gilt als Standardrichtlinie für zukünftige Projekte
2.0 KiB
2.0 KiB
📦 Versionierung im Projekt
🎯 Ziel
Dieses Projekt verwendet eine automatisierte und konsistente Versionsverwaltung, um Klarheit über die aktuelle App-Version zu gewährleisten und manuelle Fehler zu vermeiden.
🗂️ Wo wird die Version gespeichert?
Die App-Version ist in vier Dateien synchron enthalten:
| Datei | Zweck |
|---|---|
package.json |
Hauptquelle für Version (npm, Git) |
package-lock.json |
Technischer Zustand des Builds |
.env.development |
Anzeige in der UI zur Entwicklungszeit |
.env.production |
Anzeige in der UI auf Produktionssystemen |
Beispiel-Eintrag in .env.*:
NEXT_PUBLIC_APP_VERSION=1.1.265
⚙️ Wie wird die Version erhöht?
Die Version wird automatisch durch folgendes Skript erhöht:
node scripts/bumpVersion.js
Dieses Skript erledigt:
- Erhöhung der Patch-Version (z. B.
1.1.265→1.1.266) - Aktualisierung von
package.json - Erstellung eines synchronen
package-lock.json - Aktualisierung der
.env.developmentund.env.productionmit neuer Version
Das Skript wird zusätzlich automatisch beim Git-Commit über Husky (.husky/pre-commit) ausgeführt.
🧠 Warum ist das hilfreich?
- Die UI zeigt immer die aktuelle App-Version, über
process.env.NEXT_PUBLIC_APP_VERSION - Git-History, Deployments und ZIP-Versionen sind nachvollziehbar
- Keine Inkonsistenzen durch manuelle Pflege
- Reproduzierbare Builds dank
package-lock.json
🧑💻 Hinweis für neue Entwickler
- ❌ Niemals die Versionsnummer manuell in nur einer Datei ändern!
- ✅ Immer das Skript nutzen oder den Commit-Hook wirken lassen.
- 🔁 Nach Konflikten: Stelle sicher, dass
package-lock.jsonund.env.*konsistent sind.
📘 Für technische Details siehe auch:
/docs/config/versioning.md