87 lines
2.2 KiB
JavaScript
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();
|
|
}
|