2021-08-31 11:22:04 +08:00
|
|
|
|
#!/usr/bin/env node
|
2021-09-18 15:40:45 +08:00
|
|
|
|
// install: yarn add rimraf chalk shelljs inquirer
|
2021-08-31 11:22:04 +08:00
|
|
|
|
// use: node push.js or ./push.js
|
2021-09-18 15:40:45 +08:00
|
|
|
|
const logs = console.log;
|
|
|
|
|
const chalk = require("chalk");
|
|
|
|
|
const shell = require("shelljs");
|
|
|
|
|
const inquirer = require("inquirer");
|
2021-08-31 11:22:04 +08:00
|
|
|
|
let commitType,
|
2021-09-18 15:40:45 +08:00
|
|
|
|
commitMsg = "";
|
2021-08-31 11:22:04 +08:00
|
|
|
|
function funCommitType() {
|
2021-09-18 15:40:45 +08:00
|
|
|
|
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();
|
|
|
|
|
});
|
2021-08-31 11:22:04 +08:00
|
|
|
|
}
|
2021-09-18 15:14:21 +08:00
|
|
|
|
|
2021-08-31 11:22:04 +08:00
|
|
|
|
function funCommitMessage() {
|
2021-09-18 15:40:45 +08:00
|
|
|
|
const promptList = [
|
|
|
|
|
{
|
|
|
|
|
type: "input",
|
|
|
|
|
message: "Please enter and submit message information:",
|
|
|
|
|
name: "msg"
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
inquirer.prompt(promptList).then(({ msg }) => {
|
|
|
|
|
commitMsg = msg;
|
|
|
|
|
funShell();
|
|
|
|
|
});
|
2021-08-31 11:22:04 +08:00
|
|
|
|
}
|
2021-09-18 15:14:21 +08:00
|
|
|
|
|
2021-08-31 11:22:04 +08:00
|
|
|
|
function funShell() {
|
2021-09-18 15:40:45 +08:00
|
|
|
|
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");
|
2021-08-31 11:22:04 +08:00
|
|
|
|
}
|
2021-09-09 16:12:52 +08:00
|
|
|
|
|
2021-09-18 15:40:45 +08:00
|
|
|
|
funCommitType();
|