Files
test-cicd/scripts/update-version.js
spassignat ceb67387f7
Some checks failed
ci/woodpecker/push/build-pipeline Pipeline failed
patch: test 34
2026-05-02 14:09:19 +02:00

87 lines
2.2 KiB
JavaScript

console.log(process.cwd());
const fs = require('fs');
const path = require('path');
function updateVersion(major = false, minor = false, patch = true) {
let obj;
try {
obj = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
let currentVersion = obj.version;
let versions = currentVersion.split('.');
let majorVersion = versions[0];
let minorVersion = versions[1];
let patchVersion = versions[2];
if (major) {
let number = Number.parseInt(majorVersion);
number++;
versions[0] = number;
versions[1] = 0;
versions[2] = 0;
} else if (minor) {
let number = Number.parseInt(minorVersion);
number++;
versions[0] = majorVersion;
versions[1] = number;
versions[2] = 0;
} else if (patch) {
let number = Number.parseInt(patchVersion);
number++;
versions[0] = majorVersion;
versions[1] = minorVersion;
versions[2] = number;
}
let newVersion = versions.join('.');
obj.version = newVersion;
fs.writeFileSync("./package.json", JSON.stringify(obj, null, "\t"), 'utf8');
let newVar = {
oldVersion: currentVersion,
newVersion: newVersion
};
return newVar;
} catch (e) {
}
}
function setConfigVersion(resource) {
let src;
try {
src = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
let versions = src.version;
let target = JSON.parse(fs.readFileSync(resource, 'utf8'));
target.version = versions;
fs.writeFileSync(resource, JSON.stringify(target), 'utf8')
} catch (e) {
}
}
let major = false;
let minor = false;
let patch = false;
process.argv.forEach(function (val, index, array) {
if (val === "-patch") {
patch = true;
} else if (val === "-major") {
major = true;
} else if (val === "-minor") {
minor = true;
}
});
if (patch||minor||major) {
let updateVersion1 = updateVersion(major,minor,patch);
let sql = path.join(__dirname,"..", "database", "src","sql");
let src = path.join(__dirname,"..", "database", "current.sql");
let tgt = path.join(__dirname,"..", "database", "src", "sql", `version-${updateVersion1.oldVersion}-${updateVersion1.newVersion}.sql`);
fs.mkdirSync(sql);
if(!fs.existsSync(src)){
fs.appendFileSync(sql, "", 'utf8');
}
fs.copyFileSync(src, tgt);
let writeStream = fs.createWriteStream(src);
writeStream.close();
}