UNPKG

1.03 kBJavaScriptView Raw
1var pkg = require('../package.json')
2var fs = require('fs')
3
4function read(n) {
5 return fs.readFileSync(n, 'utf-8')
6 }
7
8function write(n, s) {
9 return fs.writeFileSync(n, s, 'utf-8')
10}
11
12function minor(a) {
13 return [a[0], a[1], Number(a[2]) + 1]
14}
15
16function feature(a) {
17 return [a[0], Number(a[1]) + 1, 0]
18}
19
20function major(a) {
21 return [Number(a[0]) + 1, 0, 0]
22}
23
24function bump(what, version) {
25 return what === 'MAJOR' ? major(version) : what === 'FEATURE' ? feature(version) : /* otherwise */
26 minor(version)
27}
28
29
30var old_version = pkg.version
31
32pkg.version = bump(process.argv[2], pkg.version.split('.')).join('.')
33write('package.json', JSON.stringify(pkg, null, 2))
34
35var readme = read('README.md').replace(/<\!-- \[release:\s*(.+?)\s*\] -->[\s\S]*?<\!-- \[\/release\] -->/, function(_, s) {
36 return '<!-- [release: ' + s + '] -->\n' + '[release]: ' + s.replace(/\$VERSION/g, pkg.version) + '\n' + '<!-- [/release] -->'
37})
38write('README.md', readme)
39
40console.log('Bumped from ' + old_version + ' to ' + pkg.version)
\No newline at end of file