优化 pnpm commit 交互体验#924
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
在 pnpm commit 的交互式提示中按 Ctrl+C 取消时,Node.js 会因为 enquirer 内部的 readline 已关闭而抛出
ERR_USE_AFTER_CLOSE 异常。
修复方式: 通过 process.on('uncaughtException') 在进程级别拦截该错误,确保 Ctrl+C 能干净退出。

之前执行 pnpm commit 时,即使用户忘记 git add,也会进入完整的交互流程,到最后 git commit 才报错,体验较差。
修复方式: 在显示交互提示之前先检查暂存区是否有文件,若为空则立即提示用户并退出,避免无效操作。
测试验证