2026-08-25 17:17:36 +08:00
|
|
|
|
#!/usr/bin/env node
|
|
|
|
|
|
|
|
|
|
|
|
const { version } = require('../package.json');
|
|
|
|
|
|
|
2026-08-26 09:10:45 +08:00
|
|
|
|
/*
|
|
|
|
|
|
* 命令启动入口:
|
|
|
|
|
|
* 1. package.json 的 bin 配置把全局命令 zy-gbs-cmd 指向本文件。
|
2026-08-26 16:15:12 +08:00
|
|
|
|
* 2. 本文件解析 create、push、help、v 等用户参数。
|
|
|
|
|
|
* 3. 根据命令调用对应模块执行项目创建或构建推送。
|
2026-08-26 09:10:45 +08:00
|
|
|
|
*/
|
|
|
|
|
|
|
2026-08-25 17:17:36 +08:00
|
|
|
|
function printHelp() {
|
|
|
|
|
|
console.log(`zy-gbs-cmd <command>
|
|
|
|
|
|
|
|
|
|
|
|
使用:
|
|
|
|
|
|
zy-gbs-cmd help 查看帮助
|
|
|
|
|
|
zy-gbs-cmd v 查看版本
|
2026-08-26 16:15:12 +08:00
|
|
|
|
zy-gbs-cmd create 从空白模板创建项目
|
2026-08-25 17:17:36 +08:00
|
|
|
|
zy-gbs-cmd push java [environment] 构建并推送到 Java Git 仓库
|
|
|
|
|
|
`);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
async function main() {
|
2026-08-26 09:10:45 +08:00
|
|
|
|
// 第 1 步:解析命令。process.argv 前两项是 Node.js 路径和本文件路径,从第三项开始才是用户参数。
|
2026-08-25 17:17:36 +08:00
|
|
|
|
const [, , command, argument, environment] = process.argv;
|
|
|
|
|
|
|
|
|
|
|
|
if (!command || command === 'help') {
|
|
|
|
|
|
printHelp();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (command === 'v') {
|
|
|
|
|
|
console.log(`当前版本: v${version}`);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-08-26 16:15:12 +08:00
|
|
|
|
if (command === 'create' && !argument) {
|
|
|
|
|
|
await require('../src/create')();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-08-25 17:17:36 +08:00
|
|
|
|
if (command === 'push' && argument === 'java') {
|
2026-08-26 09:10:45 +08:00
|
|
|
|
// 第 2 步:进入推送主流程。production 会作为 environment 传给 pushJava。
|
2026-08-25 17:17:36 +08:00
|
|
|
|
await require('../src/push')({ environment });
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
console.error('无效命令,请执行 zy-gbs-cmd help 查看用法。');
|
|
|
|
|
|
process.exitCode = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
main().catch(error => {
|
2026-08-26 09:10:45 +08:00
|
|
|
|
// 统一设置非零退出码,便于终端和 CI 判断命令执行失败。
|
2026-08-26 16:15:12 +08:00
|
|
|
|
console.error(`执行失败: ${error.message}`);
|
2026-08-25 17:17:36 +08:00
|
|
|
|
process.exitCode = 1;
|
|
|
|
|
|
});
|