mirror of
https://gitee.com/dgiiot/dgiot.git
synced 2024-11-29 10:48:04 +08:00
66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
#!/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();
|