29 lines
649 B
JavaScript
29 lines
649 B
JavaScript
|
|
const fs = require('fs')
|
||
|
|
const path = require('path')
|
||
|
|
|
||
|
|
const type = process.argv[2] || 'patch' // patch | minor | major
|
||
|
|
const pkgPath = path.join(__dirname, '..', 'package.json')
|
||
|
|
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'))
|
||
|
|
|
||
|
|
let [major, minor, patch] = pkg.version.split('.').map(Number)
|
||
|
|
|
||
|
|
switch (type) {
|
||
|
|
case 'major':
|
||
|
|
major++
|
||
|
|
minor = 0
|
||
|
|
patch = 0
|
||
|
|
break
|
||
|
|
case 'minor':
|
||
|
|
minor++
|
||
|
|
patch = 0
|
||
|
|
break
|
||
|
|
case 'patch':
|
||
|
|
default:
|
||
|
|
patch++
|
||
|
|
break
|
||
|
|
}
|
||
|
|
|
||
|
|
pkg.version = `${major}.${minor}.${patch}`
|
||
|
|
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n')
|
||
|
|
console.log(`[bump-version] ${type} -> ${pkg.version}`)
|