From 25e950163005daaa57a021ceb64ec5243162c563 Mon Sep 17 00:00:00 2001 From: ISA Date: Tue, 17 Jun 2025 14:16:25 +0200 Subject: [PATCH] =?UTF-8?q?docs(standards):=20zentrale=20Anleitung=20zur?= =?UTF-8?q?=20automatisierten=20Versionierung=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .env.development | 2 +- .env.production | 2 +- docs/standards/versioning.md | 66 ++++++++++++++++++++++++++++++++++++ package-lock.json | 4 +-- package.json | 2 +- 5 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 docs/standards/versioning.md 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",