Skip to content

Commit 24a2ad9

Browse files
committed
refactor(cli): 重构命令行参数解析和主入口逻辑
- 使用异步方式获取包信息,替代同步读取package.json - 用yargs重构参数解析,加入严格校验和格式验证 - 新增UUID格式验证函数,确保会话ID合法性 - 改善错误输出,统一通过writeStderrLine打印错误信息 - 移除过时的手工参数解析逻辑,改用parseArguments异步解析 - 统一并简化应用启动流程,支持终端交互性检查 - 替换process.stdout.write为writeStdoutLine,增强代码一致性 - 增加对版本号、帮助信息参数的自动处理和退出 - 使用read-package-up获取package.json,保证包信息准确 - 测试覆盖parseArguments及isValidSessionId的多种场景和错误处理 - 修改构建脚本为异步导入fs模块的chmodSync操作,兼容现代Node版本
1 parent 346ecee commit 24a2ad9

9 files changed

Lines changed: 447 additions & 257 deletions

File tree

package-lock.json

Lines changed: 108 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/cli/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"scripts": {
2626
"typecheck": "tsc -p ./ --noEmit",
2727
"bundle": "node ../../scripts/esbuild.config.js",
28-
"build": "npm run typecheck && npm run bundle && node ../../scripts/copy-bundle-assets.js && node -e \"require('fs').chmodSync('dist/cli.js', 0o755)\"",
28+
"build": "npm run typecheck && npm run bundle && node ../../scripts/copy-bundle-assets.js && node -e \"import('node:fs').then(f => f.chmodSync('dist/cli.js', 0o755))\"",
2929
"prepublishOnly": "npm run build",
3030
"format": "prettier --write .",
3131
"test": "node src/tests/run-tests.mjs"
@@ -38,6 +38,7 @@
3838
"ink": "^7.0.4",
3939
"ink-gradient": "^4.0.1",
4040
"react": "^19.2.5",
41+
"read-package-up": "^12.0.0",
4142
"yargs": "^18.0.0"
4243
},
4344
"devDependencies": {

0 commit comments

Comments
 (0)