From d2af447a64396c8dbacb1743b15292bf6db8879b Mon Sep 17 00:00:00 2001 From: ISA Date: Tue, 4 Mar 2025 14:10:33 +0100 Subject: [PATCH] =?UTF-8?q?Husky=20eingerichtet=20mit=20post-commit=20Hook?= =?UTF-8?q?=20f=C3=BCr=20automatische=20Versionsanpassung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .husky/pre-commit | 1 + config/appVersion.js | 2 +- package-lock.json | 42 +++++++++++++++++++++++++++++++++++++++++- package.json | 5 ++++- scripts/bumpVersion.js | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 .husky/pre-commit create mode 100644 scripts/bumpVersion.js diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 000000000..72c4429bc --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +npm test diff --git a/config/appVersion.js b/config/appVersion.js index 7fe605c1b..98d707d51 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.0.19.4"; +export const APP_VERSION = "1.1.20"; diff --git a/package-lock.json b/package-lock.json index d45432f59..cf0eea9c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "04.02.2025 NodeMap V1.0.19.1 - Kopie", + "name": "NodeMap V1.0.19.4_04.03.2025", "lockfileVersion": 3, "requires": true, "packages": { @@ -43,6 +43,7 @@ "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", "cypress": "^13.17.0", + "husky": "^9.1.7", "identity-obj-proxy": "^3.0.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", @@ -4806,6 +4807,21 @@ "node": ">=8.12.0" } }, + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "dev": true, + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -6656,6 +6672,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -7294,6 +7316,24 @@ "node": ">= 0.8" } }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", diff --git a/package.json b/package.json index e90a8f33a..828c98ec9 100644 --- a/package.json +++ b/package.json @@ -40,13 +40,16 @@ "export": "next export", "test": "jest", "cypress": "cypress open", - "cypress:run": "cypress run" + "cypress:run": "cypress run", + "prepare": "husky", + "bump-version": "node ./scripts/bumpVersion.js" }, "devDependencies": { "@testing-library/jest-dom": "^6.4.8", "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", "cypress": "^13.17.0", + "husky": "^9.1.7", "identity-obj-proxy": "^3.0.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", diff --git a/scripts/bumpVersion.js b/scripts/bumpVersion.js new file mode 100644 index 000000000..2a4a938ea --- /dev/null +++ b/scripts/bumpVersion.js @@ -0,0 +1,33 @@ +const fs = require("fs"); +const path = require("path"); + +// Pfad zur appVersion.js +const versionFilePath = path.join(__dirname, "../config/appVersion.js"); + +// Datei einlesen +let content = fs.readFileSync(versionFilePath, "utf8"); + +// Version auslesen +const versionRegex = /APP_VERSION = "(\d+)\.(\d+)\.(\d+)"/; +const match = content.match(versionRegex); + +if (!match) { + console.error("Konnte Version nicht finden!"); + process.exit(1); +} + +let [fullMatch, major, minor, patch] = match.map(Number); + +// Dritte Stelle (Patch) erhöhen +patch++; + +// Neue Version zusammenbauen +const newVersion = `${major}.${minor}.${patch}`; + +// Dateiinhalt ersetzen +const newContent = content.replace(versionRegex, `APP_VERSION = "${newVersion}"`); + +// Datei speichern +fs.writeFileSync(versionFilePath, newContent, "utf8"); + +console.log(`✅ Version erhöht auf: ${newVersion}`);