mirror of
https://github.com/vale981/tridactyl
synced 2025-03-05 09:31:41 -05:00
46 lines
1.3 KiB
JavaScript
Executable file
46 lines
1.3 KiB
JavaScript
Executable file
#!/usr/bin/env node
|
|
|
|
const {exec} = require('child_process')
|
|
|
|
function bump_version(versionstr, component = 2) {
|
|
const versionarr = versionstr.split('.')
|
|
versionarr[component] = Number(versionarr[component]) + 1
|
|
for (let smaller = component + 1; smaller <= 2; smaller++) {
|
|
versionarr[smaller] = 0
|
|
}
|
|
return versionarr.join('.')
|
|
}
|
|
|
|
async function add_beta(versionstr) {
|
|
return new Promise((resolve, err)=>{
|
|
exec('git rev-list --count HEAD', (execerr, stdout, stderr)=>{
|
|
if (execerr) err(execerr)
|
|
resolve(versionstr + "pre" + stdout.trim())
|
|
})
|
|
})
|
|
}
|
|
|
|
async function main() {
|
|
let filename, manifest
|
|
switch (process.argv[2]) {
|
|
case 'bump':
|
|
// Load src manifest and bump
|
|
filename = './src/manifest.json'
|
|
manifest = require('.' + filename)
|
|
manifest.version = bump_version(manifest.version, Number(process.argv[3]))
|
|
break
|
|
case 'beta':
|
|
filename = './build/manifest.json'
|
|
manifest = require('.' + filename)
|
|
manifest.version = await add_beta(manifest.version)
|
|
break
|
|
default:
|
|
throw "Unknown command!"
|
|
}
|
|
|
|
// Save file
|
|
const fs = require('fs')
|
|
fs.writeFile(filename, JSON.stringify(manifest, null, 4), err=>err && console.error(err))
|
|
}
|
|
|
|
main()
|