forked from dgiot/dgiot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
push.js
65 lines (62 loc) · 2.18 KB
/
push.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
#!/usr/bin/env node
// install: yarn add rimraf chalk shelljs inquirer
// use: node push.js or ./push.js
const logs = console.log;
const chalk = require("chalk");
const shell = require("shelljs");
const inquirer = require("inquirer");
let commitType,
commitMsg = "";
function funCommitType() {
const promptList = [
{
type: "list",
message: "Please select the commit type:",
name: "env",
choices: [
{ value: "feat", name: "feat: 新功能" },
{ value: "fix", name: "fix: 修复bug" },
{ value: "style", name: "style: 代码格式(空格、分号等)" },
{ value: "refactor", name: "refactor: 重构(非feat、非fix)" },
{ value: "perf", name: "perf: 提高性能" },
{ value: "test", name: "test: 添加缺少的测试" },
{ value: "docs", name: "docs: 文档修改" },
{ value: "chore", name: "chore: 杂务(对生成过程或辅助工具和库(如文档生成)的更改)" },
{ value: "revert", name: "revert: 还原到提交" },
{ value: "WIP", name: "WIP: 进行中的工作" },
{ value: "workflow", name: "workflow: 工作流相关文件修改" },
{ value: "build", name: "build: 构建过程或辅助工具的变动" },
{ value: "ci", name: "ci: 修改项目持续集成流程" },
{ value: "release", name: "release: 发布新版本" }
]
}
];
inquirer.prompt(promptList).then(({ env }) => {
commitType = env;
funCommitMessage();
});
}
function funCommitMessage() {
const promptList = [
{
type: "input",
message: "Please enter and submit message information:",
name: "msg"
}
];
inquirer.prompt(promptList).then(({ msg }) => {
commitMsg = msg;
funShell();
});
}
function funShell() {
shell.exec("git pull");
logs(chalk.green("changelog start"));
shell.exec("rimraf CHANGELOG.md && conventional-changelog -p angular -i CHANGELOG.md -r 0 -s");
logs(chalk.green("changelog end"));
shell.exec("git add -A .");
shell.exec(`git commit -m "${commitType}: ${commitMsg}"`);
logs(chalk.blue(`message: "${commitType}: ${commitMsg}"`));
shell.exec("git push");
}
funCommitType();