forked from airyland/vux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpre-publish.js
35 lines (33 loc) · 1.03 KB
/
pre-publish.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const glob = require('glob')
const path = require('path')
const fs = require('fs')
function getPath(dir) {
return path.join(__dirname, dir)
}
const argv = require('yargs').argv
console.log('argv', argv)
const version = argv.version
if (!version) {
throw('no version specified')
}
const pkg = require(getPath('../package.json'))
const pkgContent = fs.readFileSync(getPath('../package.json'), 'utf-8')
fs.writeFileSync(getPath('../package.json'), pkgContent.replace(pkg.version, version.replace('v', '')))
glob(getPath('../src/**/**/metas.yml'), {}, function (err, files) {
let rs = []
files.forEach(function (file) {
console.log(file)
let content = fs.readFileSync(file, 'utf-8')
content = content.split('\n')
content = content.map(line => {
console.log(line)
if (/next:/.test(line)) {
return line.replace('next', `${version}`)
} else if (/version: next/.test(line)) {
return line.replace('next', `${version}`)
}
return line
})
fs.writeFileSync(file, content.join('\n'))
})
})