docs(standards): zentrale Anleitung zur automatisierten Versionierung hinzugefügt

- 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
This commit is contained in:
ISA
2025-06-17 14:16:25 +02:00
parent f312a0d61d
commit 25e9501630
5 changed files with 71 additions and 5 deletions

View File

@@ -25,4 +25,4 @@ NEXT_PUBLIC_USE_MOCKS=true
NEXT_PUBLIC_BASE_PATH=/talas5
# Oder leer lassen für direkten Zugriff -> NEXT_PUBLIC_BASE_PATH=
# App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.1.271
NEXT_PUBLIC_APP_VERSION=1.1.272

View File

@@ -26,4 +26,4 @@ NEXT_PUBLIC_BASE_PATH=/talas5
# Oder leer lassen für direkten Zugriff -> NEXT_PUBLIC_BASE_PATH=
# App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.1.271
NEXT_PUBLIC_APP_VERSION=1.1.272

View File

@@ -0,0 +1,66 @@
# 📦 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.*`:
```env
NEXT_PUBLIC_APP_VERSION=1.1.265
```
---
## ⚙️ Wie wird die Version erhöht?
Die Version wird automatisch durch folgendes Skript erhöht:
```bash
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.development` und `.env.production` mit 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.json` und `.env.*` konsistent sind.
---
📘 Für technische Details siehe auch:
[`/docs/config/versioning.md`](../config/versioning.md)

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "nodemap",
"version": "1.1.271",
"version": "1.1.272",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "nodemap",
"version": "1.1.271",
"version": "1.1.272",
"dependencies": {
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0",

View File

@@ -1,6 +1,6 @@
{
"name": "nodemap",
"version": "1.1.271",
"version": "1.1.272",
"dependencies": {
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0",