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 src = path.join(__dirname,"..", "database", "current.sql"); let tgt = path.join(__dirname,"..", "database", "src", "sql", `version-${updateVersion1.oldVersion}-${updateVersion1.newVersion}.sql`); fs.copyFileSync(src, tgt); let writeStream = fs.createWriteStream(src); writeStream.close(); }