feat(fs): implement mkdtempDisposable and mkdtempDisposableSync #22068
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.
Summary
Implements Node.js-compatible disposable temporary directory functions for better resource management:
fs.mkdtempDisposableSync()- synchronous version withSymbol.disposefs.mkdtempDisposable()- callback version withSymbol.asyncDisposefs/promises.mkdtempDisposable()- promise version withSymbol.asyncDisposeThese functions create temporary directories that can be automatically cleaned up using JavaScript's disposable syntax (
using/await using).API
All functions return objects with:
path: string- the created directory pathremove(): (Promise<void> | void)- manual cleanup methodSymbol.dispose/Symbol.asyncDispose- automatic disposal supportUsage Examples
Implementation Details
rmSync/rmwithrecursive: true, force: truefor cleanupprocess.chdir()changesTest plan
Symbol.disposeandSymbol.asyncDisposeworksprocess.chdir()changes🤖 Generated with Claude Code