diff --git a/.env.development b/.env.development index cf759cb48..01c0ef576 100644 --- a/.env.development +++ b/.env.development @@ -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 diff --git a/.env.production b/.env.production index aa42ef11e..e93e58e06 100644 --- a/.env.production +++ b/.env.production @@ -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 \ No newline at end of file +NEXT_PUBLIC_APP_VERSION=1.1.272 \ No newline at end of file diff --git a/docs/standards/versioning.md b/docs/standards/versioning.md new file mode 100644 index 000000000..0fbd37e95 --- /dev/null +++ b/docs/standards/versioning.md @@ -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) diff --git a/package-lock.json b/package-lock.json index a2726c06e..00671b14b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index 03fc8118f..8260f0e39 100644 --- a/package.json +++ b/package.json @@ -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",