Husky eingerichtet mit post-commit Hook für automatische Versionsanpassung

This commit is contained in:
ISA
2025-03-04 14:10:33 +01:00
parent 7efbc4f6d8
commit d2af447a64
5 changed files with 80 additions and 3 deletions

1
.husky/pre-commit Normal file
View File

@@ -0,0 +1 @@
npm test

View File

@@ -1,2 +1,2 @@
// /config/appVersion
export const APP_VERSION = "1.0.19.4";
export const APP_VERSION = "1.1.20";

42
package-lock.json generated
View File

@@ -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",

View File

@@ -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",

33
scripts/bumpVersion.js Normal file
View File

@@ -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}`);