Skip to content

优化 pnpm commit 交互体验#924

Merged
honghuangdc merged 2 commits into
soybeanjs:mainfrom
Azir-11:main
May 16, 2026
Merged

优化 pnpm commit 交互体验#924
honghuangdc merged 2 commits into
soybeanjs:mainfrom
Azir-11:main

Conversation

@Azir-11

@Azir-11 Azir-11 commented May 16, 2026

Copy link
Copy Markdown
Member
  1. 修复 Ctrl+C 退出时报 ERR_USE_AFTER_CLOSE 错误

在 pnpm commit 的交互式提示中按 Ctrl+C 取消时,Node.js 会因为 enquirer 内部的 readline 已关闭而抛出
ERR_USE_AFTER_CLOSE 异常。

修复方式: 通过 process.on('uncaughtException') 在进程级别拦截该错误,确保 Ctrl+C 能干净退出。
image

  1. 提交前检查 git 暂存区

之前执行 pnpm commit 时,即使用户忘记 git add,也会进入完整的交互流程,到最后 git commit 才报错,体验较差。

修复方式: 在显示交互提示之前先检查暂存区是否有文件,若为空则立即提示用户并退出,避免无效操作。

image

测试验证

  • pnpm commit 后按 Ctrl+C 能正常退出,无报错
  • 未 git add 时执行 pnpm commit 直接提示暂存区为空
  • 正常提交流程不受影响
  • typecheck、lint、fmt 均通过

@honghuangdc honghuangdc merged commit eba4950 into soybeanjs:main May 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants