Always clean-up temp dirs in withTmpDir - #4141
Open
mario-campos wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Add a rejection-path unit test verifying temporary-directory cleanup.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Lite
Findings: 1
New issues introduced by this change (1)
| Severity | Finding |
|---|---|
src/util.ts — Add coverage for cleanup when the body rejects |
What changed in this PR
Updates withTmpDir to always clean up temporary directories when the callback fails.
Changes:
- Wraps callback execution and cleanup in
try/finally. - Preserves asynchronous callback completion before cleanup.
| File | Summary |
|---|---|
src/util.ts |
Ensures cleanup runs on exceptions. Nit (3 votes): add a rejection-path test verifying directory removal. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+87
to
+90
| try { | ||
| return await body(tmpDir); | ||
| } finally { | ||
| await fs.promises.rm(tmpDir, { force: true, recursive: true }); |
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.

Wrap the body of
withTmpDirin atry/finallyso that it always cleans up its temporary directory, even after an exception is thrown.Risk assessment
For internal use only. Please select the risk level of this change:
Which use cases does this change impact?
Workflow types:
Products:
Environments:
How did/will you validate this change?
.test.tsfiles).If something goes wrong after this change is released, what are the mitigation and rollback strategies?
How will you know if something goes wrong after this change is released?
Are there any special considerations for merging or releasing this change?
Merge / deployment checklist