-
Notifications
You must be signed in to change notification settings - Fork 0
/
bat.js
75 lines (69 loc) · 1.38 KB
/
bat.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/env node
'use strict';
const inquirer = require('inquirer')
const shell = require('shelljs')
const argv = require('optimist').argv;
const questions = [
{
type: 'list',
message: '请选择系统:',
name: 'name',
choices: [
"app1",
"app2",
],
filter: function (val) {
if(val == 'app1'){
return 'app1';
}else if(val == 'app2'){
return 'app2';
}
}
},
]
const buildQuestions = [
{
type : "input",
name : "currentVersion",
message : "请输入当前版本号:",
validate: function(val) {
if(!val.match(/\d{8}/g)) {
return "版本号格式输入错误,例:YYYYMMDD00";
}
return true;
}
},
{
type: "confirm",
message: "是否更新上一个版本?",
name: "isCover",
prefix: "",
suffix: "",
},{
type: "input",
message: "请输入上一个版本号:",
name: "lastVersion",
validate: function(val) {
if(!val.match(/\d{8}/g)) {
return "版本号格式输入错误,例:YYYYMMDD00";
}
return true;
},
when: function(answers) {
return answers.isCover
}
},
]
let cm = '';
if(argv.build){//编译模式
questions.push(...buildQuestions);
cm = 'build';
}else{//开发模式
cm = 'dev';
}
inquirer.prompt(questions).then(function (answers) {
if (shell.exec(`yarn ${ cm } --INFO="${ JSON.stringify(answers) }"`).code !== 0) {//执行
shell.echo('Error: yarn build failed');
shell.exit(1);
}
})